เชตเชฟเช•เชพเชธเชจเชพ เชเช• เชตเชฐเซเชท เชชเช›เซ€ เชฐเชœเซ‚ เชฅเชฏเซ‡เชฒ เช›เซ‡ เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ HTTP เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เชฎเชฒเซเชŸเซ€เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเชฐเซเชตเชฐเชจเซ€ เชจเชตเซ€ เชธเซเชฅเชฟเชฐ เชถเชพเช–เชพ nginx 1.18.0, เชœเซ‡ เชฎเซเช–เซเชฏ เชถเชพเช–เชพ 1.17.x เชฎเชพเช‚ เชธเช‚เชšเชฟเชค เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ‡ เชถเซ‹เชทเซ€ เชฒเซ‡ เช›เซ‡. เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚, เชธเซเชฅเชฟเชฐ เชถเชพเช–เชพ 1.18 เชฎเชพเช‚ เชคเชฎเชพเชฎ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช—เช‚เชญเซ€เชฐ เชญเซ‚เชฒเซ‹ เช…เชจเซ‡ เชจเชฌเชณเชพเชˆเช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชนเชถเซ‡. nginx 1.19 เชจเซ€ เชฎเซเช–เซเชฏ เชถเชพเช–เชพ เชŸเซ‚เช‚เช• เชธเชฎเชฏเชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡เชจเซ€ เช…เช‚เชฆเชฐ เชจเชตเซ€ เชธเซเชตเชฟเชงเชพเช“เชจเซ‹ เชตเชฟเช•เชพเชธ เชšเชพเชฒเซ เชฐเชนเซ‡เชถเซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เช•เซ‡ เชœเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ เชจเชฅเซ€, เช†เช—เซเชฐเชนเชฃเซ€เชฏ เช›เซ‡ เชฎเซเช–เซเชฏ เชถเชพเช–เชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เชœเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ เชตเชพเชฃเชฟเชœเซเชฏเชฟเช• เช‰เชคเซเชชเชพเชฆเชจ Nginx Plus เชจเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹ เชฆเชฐ เชคเซเชฐเชฃ เชฎเชนเชฟเชจเซ‡ เชฐเชšเชพเชฏ เช›เซ‡.

เช…เชจเซเชธเชพเชฐ เชเชชเซเชฐเชฟเชฒ เช…เชนเซ‡เชตเชพเชฒ Netcraft nginx เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชคเชฎเชพเชฎ เชธเช•เซเชฐเชฟเชฏ เชธเชพเช‡เชŸเซเชธเชจเชพ 19.56% เชชเชฐ เชฅเชพเชฏ เช›เซ‡ (เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ 20.73%, เชฌเซ‡ เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ 21.02%), เชœเซ‡ เช† เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏเชคเชพเชฎเชพเช‚ เชฌเซ€เชœเชพ เชธเซเชฅเชพเชจเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡ (Apache เชจเซ‹ เชนเชฟเชธเซเชธเซ‹ 27.64%, Google - 10.03%, Microsoft IIS - 4.77%). เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เชฌเชงเซ€ เชธเชพเช‡เชŸเซเชธเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ, nginx เชคเซ‡เชจเซเช‚ เชจเซ‡เชคเซƒเชคเซเชต เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ 36.91% เชฌเชœเชพเชฐ (เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ 27.52%) เชชเชฐ เช•เชฌเชœเซ‹ เช•เชฐเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ Apache เชจเซ‹ เชนเชฟเชธเซเชธเซ‹ 24.73%, Microsoft IIS - 12.85%, Google - 3.42% เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡.

เชตเชฟเชถเซเชตเชฎเชพเช‚ เชธเซŒเชฅเซ€ เชตเชงเซ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ€เชงเซ‡เชฒ เชฎเชฟเชฒเชฟเชฏเชจ เชธเชพเช‡เชŸเซเชธเชฎเชพเช‚, nginx เชจเซ‹ เชนเชฟเชธเซเชธเซ‹ 25.54% เช›เซ‡ (เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ 26.22%, เชฌเซ‡ เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ 23.76%). เชนเชพเชฒเชฎเชพเช‚, เชฒเช—เชญเช— 459 เชฎเชฟเชฒเชฟเชฏเชจ เชตเซ‡เชฌเชธเชพเช‡เชŸเซเชธ Nginx เชšเชฒเชพเชตเซ€ เชฐเชนเซ€ เช›เซ‡ (เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ 397 เชฎเชฟเชฒเชฟเชฏเชจ). เชฆเซเชตเชพเชฐเชพ เช†เชชเซ‡เชฒ W3Techs nginx เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเซŒเชฅเซ€ เชตเชงเซ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ€เชงเซ‡เชฒ เชฎเชฟเชฒเชฟเชฏเชจเชฎเชพเช‚เชฅเซ€ 31.9% เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชฅเชพเชฏ เช›เซ‡, เช—เชฏเชพ เชตเชฐเซเชทเซ‡ เชเชชเซเชฐเชฟเชฒเชฎเชพเช‚ เช† เช†เช‚เช•เชกเซ‹ 41.8% เชนเชคเซ‹, เชœเซ‡ เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพ เชนเชคเซ‹ - 38% (เช˜เชŸเชพเชกเซ‹ เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ HTTP เชธเชฐเซเชตเชฐเชจเชพ เช…เชฒเช— เชเช•เชพเช‰เชจเซเชŸเชฟเช‚เช—เชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃ เชฆเซเชตเชพเชฐเชพ เชธเชฎเชœเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡). เช…เชชเชพเชšเซ‡เชจเซ‹ เชนเชฟเชธเซเชธเซ‹ เชตเชฐเซเชท เชฆเชฐเชฎเชฟเชฏเชพเชจ 43.6% เชฅเซ€ เช˜เชŸเซ€เชจเซ‡ 38.9% เช…เชจเซ‡ Microsoft IIS เชจเซ‹ เชนเชฟเชธเซเชธเซ‹ 8.6% เชฅเซ€ 8.3% เชฅเชฏเซ‹. เชฐเชถเชฟเชฏเชพ nginx เชฎเชพเช‚ เชตเชชเชฐเชพเชฏ เช›เซ‡ เชธเซŒเชฅเซ€ เชตเชงเซ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ€เชงเซ‡เชฒ เชธเชพเช‡เชŸเซเชธเชฎเชพเช‚เชฅเซ€ 78.9% เชชเชฐ (เชเช• เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพเช‚ - 81%).

1.17.x เช…เชชเชธเซเชŸเซเชฐเซ€เชฎ เชถเชพเช–เชพเชจเชพ เชตเชฟเช•เชพเชธ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เชธเซŒเชฅเซ€ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชธเซเชงเชพเชฐเชพเช“:

  • เชจเชฟเชฐเซเชฆเซ‡เชถ เช‰เชฎเซ‡เชฐเซเชฏเซ‹ เชฒเชฟเชฎเชฟเชŸเซ‡เชก_เชฐเซ‡เช•_ เชกเซเชฐเชพเชฏ_เช†เชฐเชจ, เชœเซ‡ เชŸเซเชฐเชพเชฏเชฒ เชฐเชจ เชฎเซ‹เชกเชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชตเชฟเชจเช‚เชคเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ เชคเซ€เชตเซเชฐเชคเชพ (เชฆเชฐ เชฎเชฐเซเชฏเชพเชฆเชพ เชตเชฟเชจเชพ) เชชเชฐ เช•เซ‹เชˆ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเซ‹ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฎเชฐเซเชฏเชพเชฆเชพ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ‡ เช›เซ‡;
  • เชจเชฟเชฐเซเชฆเซ‡เชถ เช‰เชฎเซ‡เชฐเซเชฏเซ‹ เชฎเชฐเซเชฏเชพเชฆเชพ_เช•เซ‹เชจ_เชกเซเชฐเชพเช‡_เช†เชฐเชจ, เชœเซ‡ ngx_http_limit_conn_module เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‡ เชŸเซ‡เชธเซเชŸ เชฐเชจ เชฎเซ‹เชกเชฎเชพเช‚ เชธเซเชตเชฟเชš เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชœเซ‹เชกเชพเชฃเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡;
  • เชจเชฟเชฐเซเชฆเซ‡เชถ เช‰เชฎเซ‡เชฐเซเชฏเซ‹ "auth_ เชตเชฟเชฒเช‚เชฌ", เชœเซ‡ เชคเชฎเชจเซ‡ เชชเชพเชธเชตเชฐเซเชก เช…เชจเซเชฎเชพเชจเชจเซ€ เชคเซ€เชตเซเชฐเชคเชพ เช˜เชŸเชพเชกเชตเชพ เช…เชจเซ‡ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ 401 เชจเชพ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช•เซ‹เชก เชธเชพเชฅเซ‡ เช…เชจเชงเชฟเช•เซƒเชค เชตเชฟเชจเช‚เชคเซ€เช“เชฎเชพเช‚ เชตเชฟเชฒเช‚เชฌ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชนเซเชฎเชฒเชพเช“, เชœเซ‡ เชธเชฟเชธเซเชŸเชฎเชจเซ€ เชเช•เซเชธเซ‡เชธ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡ เชคเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเชพ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชŸเชพเช‡เชฎ (เชŸเชพเช‡เชฎเชฟเช‚เช— เชเชŸเซ‡เช•) เชจเชพ เชฎเชพเชชเชฎเชพเช‚ เชนเซ‡เชฐเชซเซ‡เชฐ เชชเชพเชธเชตเชฐเซเชก, เชธเชฌเช•เซเชตเซ‡เชฐเซ€เชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ เช…เชฅเชตเชพ เชœเซ‡เชกเชฌเซเชฒเซเชฏเซเชŸเซ€ (JSON เชตเซ‡เชฌ เชŸเซ‹เช•เชจ);
  • "เชฎเชฐเซเชฏเชพเชฆเชพ_เชฆเชฐ" เช…เชจเซ‡ "เชฎเชฐเซเชฏเชพเชฆเชพ_เชฆเชฐ_เช†เชซเซเชŸเชฐ" เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹เชฎเชพเช‚, เชคเซ‡เชฎเชœ เชธเซเชŸเซเชฐเซ€เชฎ เชฎเซ‹เชกเซเชฏเซเชฒเชจเชพ "เชชเซเชฐเซ‹เช•เซเชธเซ€_เช…เชชเชฒเซ‹เชก_เชฐเซ‡เชŸ" เช…เชจเซ‡ "เชชเซเชฐเซ‹เช•เซเชธเซ€_เชกเชพเช‰เชจเชฒเซ‹เชก_เชฐเซ‡เชŸ" เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹เชฎเชพเช‚ เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒเซเชธ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเชฎเชฐเซเชฅเชจ;
  • เชจเชฟเชฐเซเชฆเซ‡เชถเชฎเชพเช‚ grpc_pass เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเช‚ เชšเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เช†เชงเชพเชฐ เช•เซ‡ เชœเซ‡ เชธเชฐเชจเชพเชฎเซเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เชธเชฐเชจเชพเชฎเซเช‚ เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎ เชคเชฐเซ€เช•เซ‡ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชธเชฐเซเชตเชฐเชจเชพ เชตเชฐเซเชฃเชตเซ‡เชฒ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชจเชพเชฎ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡, เชœเซ‹ เชจ เชฎเชณเซ‡, เชคเซ‹ เชฐเชฟเชเซ‹เชฒเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡;
  • เชจเชตเชพ เชšเชฒเซ‹ เช‰เชฎเซ‡เชฐเซเชฏเชพ $proxy_protocol_server_addr ะธ $proxy_protocol_server_port, เชœเซ‡เชฎเชพเช‚ PROXY เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชนเซ‡เชกเชฐเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชณเชตเซ‡เชฒ เชธเชฐเซเชตเชฐ เชธเชฐเชจเชพเชฎเซเช‚ เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ เชนเซ‹เชฏ เช›เซ‡;
  • เชฎเซ‹เชกเซเชฏเซเชฒเชฎเชพเช‚ ngx_stream_limit_conn_module เชšเชฒ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ $limit_conn_status, เชœเซ‡ เช•เชจเซ‡เช•เซเชถเชจเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡: PASSED, REJECTED เช…เชฅเชตเชพ REJECTED_DRY_RUN;
  • เชฎเซ‹เชกเซเชฏเซเชฒเชฎเชพเช‚ ngx_http_limit_req_module เชšเชฒ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ $limit_req_status, เชœเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“เชจเชพ เช†เช—เชฎเชจเชจเชพ เชฆเชฐเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN เช…เชฅเชตเชพ REJECTED_DRY_RUN;
  • เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เชฎเซ‹เชกเซเชฏเซเชฒ เชเชธเซ‡เชฎเซเชฌเชฒ เชฅเชพเชฏ เช›เซ‡ ngx_http_postpone_filter_module;
  • เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชชเชฐเซเชฒ เชˆเชจเซเชŸเชฐเชชเซเชฐเซ€เชŸเชฐ เชฆเซเชตเชพเชฐเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ $r->internal_redirect() เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ "เชธเซเชฅเชพเชจ" เชฌเซเชฒเซ‹เช• เชจเชพเชฎเชจเชพ เชŸเซ‰เช—เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เช† เชชเชฆเซเชงเชคเชฟเชฎเชพเช‚ เชนเชตเซ‡ Escaped เช…เช•เซเชทเชฐเซ‹ เชธเชพเชฅเซ‡ URI เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡;
  • เชœเซเชฏเชพเชฐเซ‡ "เช…เชชเชธเซเชŸเซเชฐเซ€เชฎ" เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชฌเซเชฒเซ‹เช•เชฎเชพเช‚ "เช…เชชเชธเซเชŸเซเชฐเซ€เชฎ" เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฟเชตเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹เชนเซ‡เชถยป เช•เซเชฒเชพเชฏเชจเซเชŸ-เชธเชฐเซเชตเชฐ เชฌเชพเชˆเชจเซเชกเชฟเช‚เช— เชธเชพเชฅเซ‡ เชฒเซ‹เชก เชฌเซ‡เชฒเซ‡เชจเซเชธเชฟเช‚เช—เชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡, เชœเซ‹ เชคเชฎเซ‡ เช–เชพเชฒเซ€ เช•เซ€ เชฎเซ‚เชฒเซเชฏเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชฏเซเชจเชฟเชซเซ‹เชฐเซเชฎ เชฌเซ‡เชฒเซ‡เชจเซเชธเชฟเช‚เช— เชฎเซ‹เชก (เชฐเชพเช‰เชจเซเชก-เชฐเซ‹เชฌเชฟเชจ) เชนเชตเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฅเชพเชฏ เช›เซ‡;
  • ioctl(FIONREAD) เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเซ‹ เช‰เชชเชฒเชฌเซเชง เชนเซ‹เชฏ เชคเซ‹ เชธเชฎเชฏ เชœเชคเชพเช‚ เชเชกเชชเซ€ เช•เชจเซ‡เช•เซเชถเชจเชฎเชพเช‚เชฅเซ€ เชตเชพเช‚เชšเชจ เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐ เช‰เชฎเซ‡เชฐเชพเชฏเซ‹.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹