เบšเปเบฅเบดเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบš HTTP headers server

เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒ HTTP headers เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบšเบปเบ”เบ„เบงเบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบซเบปเบงเบ‚เปเป‰. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเบฐเบซเบผเบธเบšเบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเบฐเบชเบปเบกเปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™ RFC. เบšเบฒเบ‡เบซเบปเบงเบ‚เปเป‰เปเบกเปˆเบ™เบšเบฑเบ‡เบ„เบฑเบš, เบšเบฒเบ‡เบซเบปเบงเปเบกเปˆเบ™เบฅเป‰เบฒเบชเบฐเป„เบซเบก, เปเบฅเบฐเบšเบฒเบ‡เบซเบปเบงเบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เปเบฅเบฐเบ‚เบฑเบ”เปเบเป‰เบ‡. เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบ–เบปเบ‡เบ—เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบš เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡ web server HTTP headers. เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ—เบตเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเบฐเปเบ”เบ‡เบชเปˆเบงเบ™เบซเบปเบง, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™:

  1. เบเปเบฒเบ™เบปเบ”เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบซเบปเบงเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™;
  2. เป€เบžเบตเปˆเบก headers เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡;
  3. เบฅเบฐเบšเบธเป€เบงเบตเบŠเบฑเบ™ HTTP protocol: 1.0, 1.1, 2 (เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒ HTTP/2 เบฎเบญเบ‡เบฎเบฑเบšเบซเบผเบทเบšเปเปˆ);
  4. เบฅเบฐเบšเบธเบงเบดเบ—เบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, timeout เปเบฅเบฐ postdata เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ;
  5. beanbag เบเบฑเบ‡เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ•เปเปˆ If-Modified-Since, If-None-Match requests, เบ–เป‰เบฒเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ›เบฐเบเบญเบšเบ”เป‰เบงเบ Last-Modified เบซเบผเบท ETag.


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

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

  • เบงเบฑเบ™เบ—เบตเปˆเบชเบฐเบซเบกเบฑเบ
  • Content-Type เบŠเบตเป‰เบšเบญเบ charset เบชเปเบฒเบฅเบฑเบšเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบก, เบ”เบตเบเบงเปˆเบฒ utf-8
  • เบเบฒเบ™เบšเบตเบšเบญเบฑเบ” Content-Encoding เบชเปเบฒเบฅเบฑเบšเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบก

เบชเปˆเบงเบ™เบซเบปเบงเบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเปเบฅเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™

  • เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบกเบตเป€เบงเบตเบŠเบฑเปˆเบ™เป€เบŠเบตเบšเป€เบงเบตเบฅเบฐเบญเบฝเบ”
  • X-Power-By
  • X_ASPNET-Version
  • เปเบปเบ” เบญเบฒเบเบธ
  • เป€เบ›เบฑเบ™ pragma
  • P3P
  • เบœเปˆเบฒเบ™
  • X-UA- เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰

เบซเบปเบงเบ‚เปเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž

  • X-Content-Type-Options
  • X-XSS-เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡
  • เบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”-เบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡-เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž
  • เบ™เบฐเป‚เบเบšเบฒเบเบœเบนเป‰เบญเป‰เบฒเบ‡เบญเบตเบ‡
  • เบ™เบฐเป‚เบเบšเบฒเบเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”
  • Content-Security-Policy เบซเบผเบท Content-Security-Policy-Report-Only to disable inline scripts and styles.

เบชเปˆเบงเบ™เบซเบปเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™

เบšเบฑเบ‡เบ„เบฑเบšเบชเปเบฒเบฅเบฑเบšเป€เบ™เบทเป‰เบญเบซเบฒเบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ” cache เบเบฒเบงเปเบฅเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบชเบนเบ‡เบชเปเบฒเบฅเบฑเบšเป€เบ™เบทเป‰เบญเบซเบฒเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ” cache เบชเบฑเป‰เบ™.

  • เบ”เบฑเบ”เปเบเป‰เบซเบผเป‰เบฒเบชเบธเบ”
  • ETag
  • เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบ„เบ”
  • เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™
  • เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบเบฑเบšเบชเปˆเบงเบ™เบซเบปเบง: If-Modified-Since เปเบฅเบฐ If-None-Match

HTTP / 2

เบ•เบญเบ™เบ™เบตเป‰เป€เบŠเบตเบšเป€เบงเบตเบ„เบงเบ™เบฎเบญเบ‡เบฎเบฑเบš HTTP/2. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบฐเบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเบœเปˆเบฒเบ™ HTTP/2. เบ–เป‰เบฒเป€เบŠเบตเบšเป€เบงเบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบš HTTP/2, เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบฅเบทเบญเบ HTTP/1.1.

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

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