เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡, เปเบฅเบฐเปƒเบ™เบšเบฑเบ™เบ”เบฒเป‚เบ›เป‚เบ•เบ„เบญเบ™เบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”, HTTP เบ„เบญเบšเบ„เบญเบ‡เบชเปˆเบงเบ™เปเบšเปˆเบ‡เบ‚เบญเบ‡เบŠเป‰เบฒเบ‡. เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบชเบถเบเบชเบฒ nuances เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒ, เบ›เบฐเบŠเบฒเบŠเบปเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบซเบผเบฒเบเบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบปเบงเบˆเบดเบ‡. เบเบฒเบ™เปเบเบเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ (Dev) เปเบฅเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ (Ops) เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบฎเป‰เบฒเบเปเบฎเบ‡เบ‚เบถเป‰เบ™. เปเบ•เปˆเบ”เป‰เบงเบเบเบฒเบ™เป€เบ•เบตเบšเปƒเบซเบเปˆเบ‚เบญเบ‡เบงเบฑเบ”เบ—เบฐเบ™เบฐเบ—เปเบฒ DevOps, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบเป€เบ›เบฑเบ™เบœเบนเป‰เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™เป€เบกเบ„, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบ—เบตเปˆเบˆเบฐเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบš backend เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบชเปเบฒเบฅเบฑเบšเบžเบฑเบ™เบซเบผเบทเบซเบผเบฒเบเบชเบดเบšเบžเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเป‰เบญเบกเป†เบเบฑเบ™.

เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบงเบฑเบšเปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบญเบทเปˆเบ™เป†. เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™ load balancers เบซเบผเบทเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡. เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบžเบงเบเบกเบฑเบ™เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบŠเบธเบ”เบ™เบตเป‰เป€เบžเบทเปˆเบญเบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบˆเบฒเบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบงเบซเบ™เบธเปˆเบกเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบเป€เบ›เบฑเบ™เบ™เบฑเบเบชเบฐเบ–เบฒเบ›เบฐเบ™เบดเบเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ”เบต. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเป€เบ•เบฑเบเบ™เบดเบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Linux เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบฅเบฐเบ”เบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบตเบซเบผเบฒเบเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เปƒเบ™เบŠเบธเบ”เบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ„เบปเป‰เบ™เบซเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบเปˆเบงเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ desktop เป€เบŠเบฑเปˆเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบซเบผเบทเบ•เบปเบงเปเบเป‰เป„เบ‚เบ‚เปเป‰เบ„เบงเบฒเบก. เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฐเบ™เบดเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Linux เบซเบผเบท Unix เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบงเบเบกเบฑเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡.

Linux เปเบกเปˆเบ™ เบซเป‰เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹, เปเบฅเบฐโ€‹เบชเปˆเบงเบ™โ€‹เปƒเบซเบเปˆโ€‹เปเบฅเป‰เบงโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš OS เบ™เบตเป‰โ€‹. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ‚เป‰เบญเบเป€เบงเบปเป‰เบฒเบงเปˆเบฒ "Linux", เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบชเบปเบกเบกเบธเบ”เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ›เบญเบ”เป„เบžเบงเปˆเบฒเบ‚เป‰เบญเบเบซเบกเบฒเบเป€เบ–เบดเบ‡เบ—เบธเบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบš Unix เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เบ—เบปเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบฅเบฐเบšเบปเบšเบญเบทเปˆเบ™เป†. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเบปเบ™เปƒเบˆ FreeBSD เบซเบผเบท OpenBSD, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเบฅเบญเบ‡เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบชเบฐเป€เบžเบฒเบฐ Linux, เบ‚เป‰เบญเบเบŠเบตเป‰เบกเบฑเบ™เบญเบญเบ.

เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบ™เบตเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ app เบˆเบฒเบ scratch เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ optimized เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™, เบกเบฑเบ™เบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เปเบ™เบงเบ™เบฑเป‰เบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ‚เบฝเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเปƒเบซเบกเปˆเปƒเบ™ C เบซเบผเบท C ++ เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบญเบ‡เบญเบปเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบกเบทเป‰เบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เบฎเบนเป‰เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเป€เบฅเบทเบญเบเป‚เบ›เบผเปเบเบผเบกเบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ›เบฝเบšโ€‹เบ—เบฝเบšโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบตเปˆโ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹เบ‚เบฐโ€‹เบšเบงเบ™โ€‹เบเบฒเบ™โ€‹เบเบฑเบšโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบตเปˆโ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹เบเบฐโ€‹เบ—เบนเป‰โ€‹เป€เบŠเบฑเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹เป€เบซเบ”โ€‹เบเบฒเบ™โ€‹. เบ—เปˆเบฒเบ™เบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบฅเบฐเบฎเบนเป‰เบšเบธเบ™เบ„เบธเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡ Nginx เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ”เบตเบเบงเปˆเบฒ Apache httpd, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Python เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Tornado เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰เป„เบ”เป‰เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบกเบทเปˆเบญเบ—เบฝเบšเปƒเบชเปˆเบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Python เบ‚เบญเบ‡ Django.

ZeroHTTPd: เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰

ZeroHTTPd เปเบกเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เบฝเบ™เบˆเบฒเบ scratch เปƒเบ™ C เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบชเบญเบ™. เบกเบฑเบ™เบšเปเปˆเบกเบตเบเบฒเบ™เบ‚เบทเป‰เบ™เบเบฑเบšเบžเบฒเบเบ™เบญเบ, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ Redis. เบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™ Redis เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡. เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบปเบ™เบ—เบฐเบ™เบฒเบ—เบดเบ”เบชเบฐเบ”เบตเปƒเบ™เบ„เบงเบฒเบกเบเบฒเบง, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ”เบตเบเปˆเบงเบฒเบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”, เปเบฅเปˆเบ™เบกเบฑเบ™, เปเบฅเบฐเบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบˆเบฐเปเบˆเป‰เบ‡เบ—เบตเปˆเบชเบธเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ‚เบฝเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒ ZeroHTTPd เปเบšเบšเบ‡เปˆเบฒเบเบ”เบฒเบเป‚เบ”เบเปƒเบŠเป‰เปเบ•เปˆเบฅเบฐเปเบšเบš: เบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบญเบตเบ‡เปƒเบชเปˆเบเบฐเบ—เบนเป‰, เปเบฅเบฐเป€เบซเบ”เบเบฒเบ™. เปƒเบซเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™. ZeroHTTPd เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ C เบ”เบฝเบง. เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเป€เบซเบ”เบเบฒเบ™เบ›เบฐเบเบญเบšเบกเบต utash, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash เบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเบ—เบตเปˆเบกเบฒเปƒเบ™เป„เบŸเบฅเปŒ header เบ”เบฝเบง. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบญเบทเปˆเบ™เป†, เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช, เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เป‚เบ„เบ‡เบเบฒเบ™เบชเบฑเบšเบชเบปเบ™.

เบกเบตเบซเบผเบฒเบเบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบžเบทเปˆเบญเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆ. เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปƒเบ™เบชเบญเบ‡เบชเบฒเบกเป€เบชเบฑเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”, ZeroHTTPd เบเบฑเบ‡เป€เบ›เบฑเบ™เบเบญเบšเบซเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบงเบฑเบš. เบกเบฑเบ™เบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบˆเปเบฒเบเบฑเบ”, เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบฎเบฑเบšเปƒเบŠเป‰เป„เบŸเบฅเปŒเบ„เบปเบ‡เบ—เบตเปˆเปเบฅเบฐเบซเบ™เป‰เบฒ "dynamic" เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ. เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เป€เบงเบปเป‰เบฒเบงเปˆเบฒ ZeroHTTPd เปเบกเปˆเบ™เบ”เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Linux เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡. เป‚เบ”เบเปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบงเบฑเบšเป„เบŠเบ•เปŒเบชเปˆเบงเบ™เปƒเบซเบเปˆเบฅเปเบ–เป‰เบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เบเบงเบ”เป€เบšเบดเปˆเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆ ZeroHTTPd เบˆเบฐเป€เบฎเบฑเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰, เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ”เบตเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบˆเบฐเบšเปเปˆเป€เบงเบปเป‰เบฒเป‚เบญเป‰เบญเบงเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ” (เป‚เบญเป‰, เบ‚เป‰เบญเบเป€เบ„เบตเบเปƒเบŠเป‰ strcpy) เบซเบผเบท tricks เบชเบฐเบซเบฅเบฒเบ”เบ‚เบญเบ‡เบžเบฒเบชเบฒ C. เปเบ•เปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบต.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ
เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ” ZeroHTTPd. เบกเบฑเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบญเบญเบโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบฅเบงเบกโ€‹เบ—เบฑเบ‡โ€‹เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹

เปƒเบšเบชเบฐเปเบฑเบเบˆเบญเบ‡เปเบ‚เบ

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบกเบฑเบเบˆเบฐเบšเปเปˆเบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเป„เบŸเบฅเปŒเบ„เบปเบ‡เบ—เบตเปˆ. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบกเบตเบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ•เปˆเบฒเบ‡เป†, เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "Guest Book" เบšเปˆเบญเบ™เบ—เบตเปˆเบ™เบฑเบเบ—เปˆเบญเบ‡เบ—เปˆเบฝเบงเบญเบญเบเบˆเบฒเบเบฅเบฒเบเบเบฒเบ™เบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เปเบ‚เบเบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒ. เบ™เบญเบเบ™เบฑเป‰เบ™เบเบฑเบ‡เบกเบตเป€เบ„เบปเบฒเป€เบ•เบตเบ‚เบญเบ‡เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบŠเบปเบกเบขเบนเปˆเบ”เป‰เบฒเบ™เบฅเบธเปˆเบกเบ‚เบญเบ‡เบซเบ™เป‰เบฒ.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ
เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบงเบฑเบš "Guest Book" ZeroHTTPd

เป€เบ„เบปเบฒเป€เบ•เบตเป‰เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบŠเบปเบก เปเบฅเบฐเบฅเบฒเบเบเบฒเบ™เบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเปเบ‚เบเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ Redis. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบเบฑเบš Redis, เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”; เบžเบงเบเบกเบฑเบ™เบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบžเบฒเบเบ™เบญเบ. เบ‚เป‰เบญเบเบšเปเปˆเปเบกเปˆเบ™เปเบŸเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบเบฒเบ™เบญเบญเบเบฅเบฐเบซเบฑเบ” homebrew เป€เบกเบทเปˆเบญเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐเบ—เบปเบ”เบชเบญเบšเบ”เบต. เปเบ•เปˆเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡ ZeroHTTPd เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเบถเบเบชเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Linux เปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเบ™เบญเบ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป HTTP เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบญเบฑเบ™เบฎเป‰เบฒเบเปเบฎเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบเบฑเบš Redis เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป‚เบ—, เปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบญเบตเบ‡เปƒเบชเปˆเป€เบซเบ”เบเบฒเบ™. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบฅเบนเบเบ„เป‰เบฒ Redis เบžเบฒเบเบ™เบญเบเบˆเบฐเบšเปเปˆเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ™เบตเป‰. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบฅเบนเบเบ„เป‰เบฒ Redis เบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบšเปเปˆเบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ” (เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบš, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”; เบเบฒเบ™เบฎเบฑเบšเปเบฅเบฐเบเบฒเบ™เบ•เบทเปˆเบกเปƒเบชเปˆเบเบฑเบš array). เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒ Redis เปเบกเปˆเบ™เบชเบฐเบซเบ‡เปˆเบฒเบ‡เบฒเบกเปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”. เป€เบˆเบปเป‰เบฒเบšเปเปˆ เบˆเบณ เป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเบญเบ™เบกเบฑเบ™เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ. เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป‚เบ›เป‚เบ•เบ„เบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ›เบฐเบกเบฒเบ™เบฎเป‰เบญเบเป€เบชเบฑเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เบ„เบดเบ”เป„เบ”เป‰เบ”เบตเบ›เบฒเบ™เปƒเบ”.

เบ•เบปเบงเป€เบฅเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบฎเบฑเบ”เป€เบกเบทเปˆเบญเบฅเบนเบเบ„เป‰เบฒ (เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš) เบฎเป‰เบญเบ‡เบ‚เป /guestbookURL.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ
เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเปเบ‚เบเป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”

เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบซเบ™เป‰เบฒเบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเปเบ‚เบเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบญเบ, เบกเบตเบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบญเปˆเบฒเบ™เปเบกเปˆเปเบšเบšเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบชเบฒเบกเป‚เบ—เบซเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Redis. เป„เบŸเบฅเปŒเปเบกเปˆเปเบšเบšเบ›เบฐเบเบญเบšเบกเบตเป€เบ™เบทเป‰เบญเบซเบฒ HTML เบชเปˆเบงเบ™เปƒเบซเบเปˆเบชเปเบฒเบฅเบฑเบšเบซเบ™เป‰เบฒเปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡. เบเบฑเบ‡เบกเบตเบ•เบปเบงเบเบถเบ”เบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เป€เบ™เบทเป‰เบญเบซเบฒ: เบ‚เปเป‰เบ„เบงเบฒเบกเปเบฅเบฐเบ•เบปเบงเบ™เบฑเบšเบˆเปเบฒเบ™เบงเบ™เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบŠเบปเบก. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบžเบงเบเบกเบฑเบ™เบˆเบฒเบ Redis, เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบ™เป‰เบฒเปเบฅเบฐเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒเบกเบตเป€เบ™เบทเป‰เบญเบซเบฒเป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš. เบเบฒเบ™เป‚เบ—เบซเบฒ Redis เบ—เบตเบชเบฒเบกเบชเบฒเบกเบฒเบ”เบซเบผเบตเบเป€เบงเบฑเป‰เบ™เป„เบ”เป‰เป€เบžเบฒเบฐเบงเปˆเบฒ Redis เบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบซเบกเปˆเป€เบกเบทเปˆเบญเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบชเปเบฒเบฅเบฑเบšเป€เบŠเบตเบšเป€เบงเบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเป€เบซเบ”เบเบฒเบ™เบšเปเปˆเบเบปเบ‡เบเบฑเบ™, เบเบฒเบ™เป‚เบ—เบซเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบซเบผเบฒเบเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบ”เบตเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบเบปเบเป€เบฅเบตเบเบกเบนเบ™เบ„เปˆเบฒเบ„เบทเบ™เบ‚เบญเบ‡ Redis เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™เบœเบนเป‰เบกเบฒเบขเป‰เบฝเบกเบขเบฒเบกเปเบฅเบฐเบชเบญเบšเบ–เบฒเบกเบกเบฑเบ™เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ—เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบŠเบตเบšเป€เบงเบต ZeroHTTPd

เบžเบงเบเป€เบฎเบปเบฒเบเบณเบฅเบฑเบ‡เบชเป‰เบฒเบ‡ XNUMX เบฅเบธเป‰เบ™ ZeroHTTPd เบ—เบตเปˆเบกเบตเปœเป‰เบฒเบงเบฝเบเบ”เบฝเบงเบเบฑเบ™ เปเบ•เปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™:

  • เบŠเป‰เบณ
  • เป€เบŠเบตเบšเป€เบงเบตเบ‚เบญเบ‡เบชเป‰เบญเบก (เบ‚เบฑเป‰เบ™เบ•เบญเบ™เปœเบถเปˆเบ‡เบฅเบนเบเบ•เปเปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป)
  • Pre-fork server (pre-fork of processes)
  • เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบกเบตเบเบฐเบ—เบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ” (เบซเบ™เบถเปˆเบ‡เบซเบปเบงเบ‚เปเป‰เบ•เปเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป)
  • เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฐเบ—เบนเป‰เบเปˆเบญเบ™
  • เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ poll()
  • เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ epoll

เบžเบงเบเป€เบฎเบปเบฒเบงเบฑเบ”เปเบ—เบเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเป‚เบ”เบเบเบฒเบ™เป‚เบซเบผเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป HTTP. เปเบ•เปˆเป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบฐเบซเบ™เบฒเบ™เบชเบนเบ‡, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เบžเบงเบเป€เบฎเบปเบฒเบ—เบปเบ”เบชเบญเบšเบชเบฒเบกเบ„เบฑเป‰เบ‡เปเบฅเบฐเบ„เบดเบ”เป„เบฅเปˆเบชเบฐเป€เบฅเปˆเบ.

เบงเบดเบ—เบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ
เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ” ZeroHTTPd

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบฅเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™. เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ™เบตเป‰โ€‹, OS เบกเบตโ€‹เบเบฒเบ™โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ—เบตเปˆโ€‹เปเบ‚เปˆเบ‡โ€‹เบ‚เบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบš CPUโ€‹. เบเบฒเบ™เบงเบฑเบ”เบœเบปเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเป€เบŠเบตเบŸเป€เบงเบตเบ—เบตเปˆเป€เบฅเบทเบญเบเปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบšเบปเบ”เบเบถเบเบซเบฑเบ”เบ™เบตเป‰. เบเบฒเบ™เป€เบžเบตเปˆเบกเบ•เบปเบงเปเบ›เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ•เปเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เบฎเบนเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”.

เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฎเบฑเบ”เบซเบเบฑเบ‡?

  • load.unixism.net: เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ ab, Apache Benchmark utility. เบกเบฑเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.
  • nginx.unixism.net: เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป€เบŠเบตเบŸเป€เบงเบต. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ Nginx เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบกเบฒเบˆเบฒเบ ab เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.
  • zerohttpd.unixism.net: เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™เป€เบŠเบตเบŸเป€เบงเบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™เป€เบˆเบฑเบ”เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบง.
  • redis.unixism.net: เป€เบŠเบตเบšเป€เบงเบตเบ™เบตเป‰เปเบฅเปˆเบ™ Redis daemon, เบšเปˆเบญเบ™เบ—เบตเปˆเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเปเบ‚เบ เปเบฅเบฐเป€เบ„เบปเบฒเป€เบ•เบตเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบŠเบปเบกเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰.

เป€เบŠเบตเบšเป€เบงเบตเบ—เบฑเบ‡เปเบปเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบซเบผเบฑเบเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ”เบฝเบงเบเบฑเบ™. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ›เบฐเป€เบกเบตเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ—เบธเบเป‚เบ›เบฃเปเบเบฃเบกเป€เบŠเบตเบšเป€เบงเบตเบ–เบทเบเบ—เบปเบ”เบชเบญเบšเบขเบนเปˆเปƒเบ™เบฎเบฒเบ”เปเบงเบ”เบฝเบงเบเบฑเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเป€เบŠเบตเบšเป€เบงเบต virtual เบ—เบตเปˆเป€เบŠเบปเปˆเบฒเบˆเบฒเบ Digital Ocean.

เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบงเบฑเบ”เปเบ—เบเบซเบเบฑเบ‡?

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบงเบฑเบ”เปเบ—เบเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเป€เบกเบตเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เป‚เบ”เบเบเบฒเบ™เป‚เบซเบผเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบ‚เบฐเบซเบ™เบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™: เบเบฒเบ™เป‚เบซเบผเบ”เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบˆเบฒเบ 20 เบซเบฒ 15 เบœเบนเป‰เปƒเบŠเป‰เบžเป‰เบญเบกเบเบฑเบ™.

เบœเบปเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบ‚เบฐเบซเบ™เบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เปเบเบ™ y เปเบกเปˆเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต, เปเบเบ™ x เปเบกเปˆเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบฐเบซเบ™เบฒเบ™.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ Linux. เปเบ™เบฐเบ™เบณ

เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš.

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต

เบ‚เบฐเบซเบ™เบฒเบ™
เบŠเป‰เบณ
เบชเป‰เบญเบก
เบ—เบฒเบ‡เบชเปˆเบงเบ™เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบชเป‰เบญเบก
เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”
pre-streaming
poll
epol

20
7
112
2100
1800
2250
1900
2050

50
7
190
2200
1700
2200
2000
2000

100
7
245
2200
1700
2200
2150
2100

200
7
330
2300
1750
2300
2200
2100

300
-
380
2200
1800
2400
2250
2150

400
-
410
2200
1750
2600
2000
2000

500
-
440
2300
1850
2700
1900
2212

600
-
460
2400
1800
2500
1700
2519

700
-
460
2400
1600
2490
1550
2607

800
-
460
2400
1600
2540
1400
2553

900
-
460
2300
1600
2472
1200
2567

1000
-
475
2300
1700
2485
1150
2439

1500
-
490
2400
1550
2620
900
2479

2000
-
350
2400
1400
2396
550
2200

2500
-
280
2100
1300
2453
490
2262

3000
-
280
1900
1250
2502
เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเปƒเบซเบเปˆ
2138

5000
-
เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเปƒเบซเบเปˆ
1600
1100
2519
-
2235

8000
-
-
1200
เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเปƒเบซเบเปˆ
2451
-
2100

10
-
-
เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเปƒเบซเบเปˆ
-
2200
-
2200

11
-
-
-
-
2200
-
2122

12
-
-
-
-
970
-
1958

13
-
-
-
-
730
-
1897

14
-
-
-
-
590
-
1466

15
-
-
-
-
532
-
1281

เบˆเบฒเบเบเบฒเบŸเปเบฅเบฐเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡ 8000 เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบžเป‰เบญเบกเป†เบเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบœเบนเป‰เบ™เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญ: pre-fork เปเบฅเบฐ epoll. เป€เบกเบทเปˆเบญเบเบฒเบ™เป‚เบซเบผเบ”เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเปเบšเบšเบชเบณเบซเบผเบงเบ”เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบฎเป‰เบฒเบเปเบฎเบ‡เบเบงเปˆเบฒเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”. เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡ thread-pre-creation เป€เบ›เบฑเบ™เบ„เบนเปˆเปเบ‚เปˆเบ‡เบ—เบตเปˆเบชเบปเบกเบ„เบงเบ™เบ—เบตเปˆเบˆเบฐ epoll, เป€เบ›เบฑเบ™เบซเบผเบฑเบเบ–เบฒเบ™เบงเปˆเบฒ Linux kernel เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ‚เบญเบ‡เบเบฐเบ—เบนเป‰เปเบ™เบงเปƒเบ”.

เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ ZeroHTTPd

เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ ZeroHTTPd เบ—เบตเปˆเบ™เบตเป‰. เบกเบตเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ.

ZeroHTTPd โ”‚ โ”œโ”€โ”€ 01_iterative โ”‚ โ”œโ”€โ”€ main.c โ”œโ”€โ”€ 02_forking โ”‚ โ”œโ”€โ”€ main.c โ”œโ”€โ”€ 03_preforking โ”‚ โ”œโ”€โ”€ main.c โ”œโ”€โ”€ โ”œโ”€โ”€ 04_ thread. 05_prethreading โ”‚ โ”œโ”€โ”€ main.c โ”œโ”€โ”€ 06_poll โ”‚ โ”œโ”€โ”€ main.c โ”œโ”€โ”€ 07_epoll โ”‚ โ””โ”€โ”€ main.c โ”œโ”€โ”€ Makefile โ”œโ”€โ”€ เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ โ”‚ โ”€ โ”œโ”€โ”€ .png โ””โ”€โ”€ เปเบกเปˆเปเบšเบš โ””โ”€โ”€ เบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเปเบ‚เบ โ””โ”€โ”€ index.html

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเป€เบˆเบฑเบ”เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”, เบเบฑเบ‡เบกเบตเบญเบตเบเบชเบญเบ‡เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”: เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐเปเบกเปˆเปเบšเบš. เบ—เปเบฒเบญเบดเบ”เบกเบตเป„เบŸเบฅเปŒ index.html เปเบฅเบฐเบฎเบนเบšเบžเบฒเบšเบˆเบฒเบเบซเบ™เป‰เบฒเบˆเปเบ—เปเบฒเบญเบดเบ”. เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบงเบฒเบ‡เป„เบŸเบฅเปŒ เปเบฅเบฐเป‚เบŸเบ™เป€เบ”เบตเป‰เบญเบทเปˆเบ™เป†เปƒเบชเปˆเบšเปˆเบญเบ™เบ™เบฑเป‰เบ™เป„เบ”เป‰, เปเบฅเบฐ ZeroHTTPd เบ„เบงเบ™เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป„เบŸเบฅเปŒเบ„เบปเบ‡เบ—เบตเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†. เบ–เป‰เบฒเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบเบปเบ‡เบเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ ZeroHTTPd เบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒ index.html เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰. เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ›เบถเป‰เบกเบ—เบถเบเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง. เบกเบฑเบ™เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เปเบฅเบฐเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเป„เบŸเบฅเปŒ 'templates/guestbook/index.html'. ZeroHTTPd เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเป€เบžเบตเปˆเบกเบซเบ™เป‰เบฒเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเปเบกเปˆเปเบšเบšเปƒเบชเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบ ZeroHTTPd เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™.

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบˆเบฑเบ”, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ make all เบˆเบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ” - เปเบฅเบฐเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰. เป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบŠเบญเบเบซเบฒเบฅเบฒเบเบŠเบทเปˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐเปเบกเปˆเปเบšเบšเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบง.

Linux API

เบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ”เบตเปƒเบ™ Linux API เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบŠเบธเบ”เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰; เบกเบตเบซเบผเบฒเบเปเบซเบผเปˆเบ‡เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเปเบฒเบœเบฑเบ”เบเบฑเบšเบซเบผเบฒเบเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ Linux APIs, เบˆเบธเบ”เบชเบธเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ›เบฑเบ™เบ•เบปเป‰เบ™เบ•เปเบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบเบฐเบ—เบนเป‰, เป€เบซเบ”เบเบฒเบ™, เปเบฅเบฐ stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ›เบถเป‰เบกเปเบฅเบฐเบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบš Linux API, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบญเปˆเบฒเบ™ mana เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเปƒเบŠเป‰.

เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ

เบซเบกเบฒเบเป€เบซเบ”เบซเบ™เบถเปˆเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ. เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบกเบตเบšเปเบฅเบดเบเบฒเบ™เป€เบงเบฑเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบซเบผเบฒเบ, เบ—เบตเปˆเบกเบตเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเบญเบ‡เบชเบฒเบกเบกเบดเบ™เบฅเบดเบงเบดเบ™เบฒเบ—เบต, เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบญเบฒเบ”เบˆเบฐเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเบ”เบตเบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบชเบญเบ‡เบชเบฒเบกเบงเบดเบ™เบฒเบ—เบตเป€เบžเบทเปˆเบญเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡, เปเบ•เปˆเบกเบฑเบ™เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เบซเบผเบฒเบเบชเบดเบšเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบžเป‰เบญเบกเบเบฑเบ™เบซเบผเบฒเบเบชเบดเบšเบžเบฑเบ™เบ„เบปเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบ. เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ•เบดเบžเบฒเบšเบชเบนเบ‡เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบงเบˆเบฐเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบขเปˆเบฒเบ‡เบšเปเปˆเบขเบธเบ”เบขเบฑเป‰เบ‡เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ•เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบทเป‰เบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบ.

เบงเบฝเบ CPU เปเบฅเบฐ I/O

เบชเบธเบ”เบ—เป‰เบฒเบ, เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰เบกเบตเบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบงเบฝเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰: เบชเปเบฒเบฅเบฑเบš I/O เปเบฅเบฐ CPU. เบเบฒเบ™เบฎเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบœเปˆเบฒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ” (เป€เบ„เบทเบญเบ‚เปˆเบฒเบ I/O), เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป„เบŸเบฅเปŒ (เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเปเบœเปˆเบ™ I/O), เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ (เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเปเบœเปˆเบ™ I/O) เปเบกเปˆเบ™เบเบดเบ”เบˆเบฐเบเปเบฒ I/O เบ—เบฑเบ‡เบซเบกเบปเบ”. เบšเบฒเบ‡เปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™ CPU เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเบ‚เบธเป‰เบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ (เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡, เบชเบฐเป€เบฅเปˆเบเป€เบ›เบฑเบ™เบฅเป‰เบฒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš, เปเบฅเบฐเบญเบทเปˆเบ™เป†). เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ–เบทเบเบˆเปเบฒเบเบฑเบ”เป‚เบ”เบ I/O เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เปเบฅเบฐเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบšเปเปˆเบ„เปˆเบญเบเบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบซเบฑเบ™เบงเปˆเบฒเบšเบฒเบ‡เบงเบฝเบ I/O เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ CPU เบซเบผเบฒเบ, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบ™เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเบ”เบต. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เป„เบ”เป‰เบ–เบทเบเป€เบชเบเป„เบ›เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™ - เปเบฅเบฐเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบเปเบฒโ€‹เบฅเบฑเบ‡โ€‹เป€เบฎเบฑเบ”โ€‹เบšเบฒเบ‡โ€‹เบชเบดเปˆเบ‡โ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹เป€เบŠเบฑเปˆเบ™โ€‹: เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹, เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบชเบฝเบ‡โ€‹, เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบฎเบฝเบ™โ€‹เบฎเบนเป‰โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™ CPU เบ—เบตเปˆโ€‹เบกเบตโ€‹เบญเปเบฒโ€‹เบ™เบฒเบ”โ€‹. เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบเปเบฅเบฐเบ™เบต.

เบชเบถเบเบชเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบŠเบตเบšเป€เบงเบต

  1. เบžเบฒเบเบ—เบต I: เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเปเบšเบšเบŠเป‰เบณเป†
  2. เบžเบฒเบเบ—เบต II. เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบชเป‰เบญเบก
  3. เบžเบฒเบเบ—เบต III. เป€เบŠเบตเบšเป€เบงเบตเบฅเปˆเบงเบ‡เปœเป‰เบฒ
  4. เบžเบฒเบเบ—เบต IV. เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบกเบตเบเบฐเบ—เบนเป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”
  5. เบžเบฒเบเบ—เบต V. เป€เบŠเบตเบšเป€เบงเบตเบเปˆเบญเบ™เบเบฐเบ—เบนเป‰
  6. เบžเบฒเบเบ—เบต VI. เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Poll
  7. เบžเบฒเบเบ—เบต VII. เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ epol

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™