HTTP เจธเจฐเจตเจฐ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจธเฉ‡เจตเจพ

เจ•เจฟเจธเฉ‡ เจตเฉ€ เจตเฉˆเจฌเจธเจพเจˆเจŸ เจฒเจˆ, HTTP เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค เจธเฉเจฐเจ–เฉ€เจ†เจ‚ เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจ•เจˆ เจฒเฉ‡เจ– เจฒเจฟเจ–เฉ‡ เจ—เจ เจนเจจเฅค เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจ…เจจเฉเจญเจต เจ…เจคเฉ‡ RFC เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเจพ เจธเจพเจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค เจ•เฉเจ เจธเจฟเจฐเจฒเฉ‡เจ– เจฒเจพเจœเจผเจฎเฉ€ เจนเจจ, เจ•เฉเจ เจชเฉเจฐเจพเจฃเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ•เฉเจ เจ‰เจฒเจเจฃ เจ…เจคเฉ‡ เจตเจฟเจฐเฉ‹เจงเจพเจญเจพเจธ เจชเฉˆเจฆเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ…เจธเฉ€เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉ‡เจŸ เจฌเฉˆเจ— เจฌเจฃเจพเจ‡เจ† เจตเฉˆเจฌ เจธเจฐเจตเจฐ HTTP เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจœเจพเจ‚เจš. เจนเฉ‹เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‰เจฒเจŸ เจœเฉ‹ เจธเจฟเจฐเจซเจผ เจธเจฟเจฐเจฒเฉ‡เจ– เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจ‡เจน เจธเฉ‡เจตเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ:

  1. เจฎเจฟเจ†เจฐเฉ€ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจฆเจพ เจฎเฉเฉฑเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹;
  2. เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจ•เจธเจŸเจฎ เจธเจฟเจฐเจฒเฉ‡เจ– เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹;
  3. HTTP เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจธเฉฐเจธเจ•เจฐเจฃ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‹: 1.0, 1.1, 2 (เจšเฉˆเฉฑเจ• เจ•เจฐเฉ‹ เจ•เจฟ เจ•เฉ€ HTTP/2 เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆ);
  4. เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเจงเฉ€, เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจคเฉ€ เจ…เจคเฉ‡ เจชเฉ‹เจธเจŸเจกเจพเจŸเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‹;
  5. เจฌเฉ€เจจเจฌเฉˆเจ— เจœเฉ‡เจ•เจฐ เจธเจฐเจตเจฐ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจ†เจ–เจฐเฉ€-เจธเฉ‹เจงเจฟเจ† เจœเจพเจ‚ ETag เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจœเฉ‡เจ•เจฐ-เจธเฉฐเจธเจผเฉ‹เจงเจฟเจค-เจ•เจฟเจ‰เจ‚เจ•เจฟ, เจœเฉ‡เจ•เจฐ-เจ•เฉ‹เจˆ-เจฎเฉ‡เจฒ เจจเจนเฉ€เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจœเจตเจพเจฌ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฆเฉ€ เจตเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆเฅค


เจ…เจธเฉ€เจ‚ เจ…เฉฐเจคเจฎ เจธเฉฑเจš เจนเฉ‹เจฃ เจฆเจพ เจขเฉŒเจ‚เจ— เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡เฅค เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจ…เจคเฉ‡ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฒเจˆ, เจฌเฉ‡เจธเจผเฉฑเจ•, เจญเจŸเจ•เจฃเจพเจตเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ. เจชเจฐ เจ‡เจน เจธเฉ‡เจตเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเฉ‡เจ—เฉ€ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจเจพ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจนเฉ‡เจ เจพเจ‚ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆ เจ•เจฟ เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจ เจธเฉ‡เจตเจพ เจ•เจฟเจธ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฟเจ‰เจ‚, เจชเฉœเฉเจนเฉ‹ Habrรฉ 'เจคเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจตเจฟเฉฑเจš.

เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ–

  • เจฎเจฟเจคเฉ€
  • เจธเจฎเฉฑเจ—เจฐเฉ€-เจ•เจฟเจธเจฎ เจŸเฉˆเจ•เจธเจŸ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจ…เฉฑเจ–เจฐ-เจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจคเจฐเจœเฉ€เจนเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ utf-8
  • เจŸเฉˆเจ•เจธเจŸ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจธเจฎเฉฑเจ—เจฐเฉ€-เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจ•เฉฐเจชเจฐเฉˆเจธเจผเจจ

เจชเฉเจฐเจพเจฃเฉ‡ เจ…เจคเฉ‡ เจฌเฉ‡เจฒเฉ‹เฉœเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ–

  • เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจพเจฒเจพ เจธเจฐเจตเจฐ
  • เจเจ•เจธ-เจชเจพเจตเจฐ-เจฌเจพเจˆ
  • X_ASPNET-เจตเจฐเจœเจจ
  • เจฆเฉ€ เจฎเจฟเจ†เจฆ เจ–เจคเจฎ
  • เจชเฉเจฐเจ—เจฎเจพ
  • P3P
  • เจฆเฉเจ†เจฐเจพ
  • X-UA-เจ…เจจเฉเจ•เฉ‚เจฒ

เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ–

  • เจเจ•เจธ-เจธเจฎเฉฑเจ—เจฐเฉ€-เจ•เจฟเจธเจฎ-เจตเจฟเจ•เจฒเจช
  • X-XSS-เจธเฉเจฐเฉฑเจ–เจฟเจ†
  • เจธเจ–เจผเจค-เจ†เจตเจพเจœเจพเจˆ-เจธเฉเจฐเฉฑเจ–เจฟเจ†
  • เจฐเฉˆเจซเจฐเจฐ-เจจเฉ€เจคเฉ€
  • เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ-เจจเฉ€เจคเฉ€
  • เจธเจฎเฉฑเจ—เจฐเฉ€-เจธเฉเจฐเฉฑเจ–เจฟเจ†-เจจเฉ€เจคเฉ€ เจœเจพเจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€-เจธเฉเจฐเฉฑเจ–เจฟเจ†-เจจเฉ€เจคเฉ€-เจฐเจฟเจชเฉ‹เจฐเจŸ-เจธเจฟเจฐเจซเจผ เจ‡เจจเจฒเจพเจˆเจจ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจธเจผเฉˆเจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆเฅค

เจ•เฉˆเจšเจฟเฉฐเจ— เจฒเจˆ เจธเจฟเจฐเจฒเฉ‡เจ–

เจฒเฉฐเจฌเฉ‡ เจ•เฉˆเจธเจผ เจฒเจพเจˆเจซ เจตเจพเจฒเฉ€ เจธเจฅเจฟเจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจฒเจพเจœเจผเจฎเฉ€ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจ•เฉˆเจธเจผ เจฒเจพเจˆเจซ เจตเจพเจฒเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจฌเจนเฉเจค เจซเจพเจ‡เจฆเฉ‡เจฎเฉฐเจฆเฅค

  • เจ†เจ–เจฐเฉ€-เจธเฉ‹เจงเจฟเจ†
  • เจˆเจŸเฉˆเจ—
  • เจ•เฉˆเจธเจผ-เจ•เฉฐเจŸเจฐเฉ‹เจฒ
  • เจญเจฟเฉฐเจจ
  • เจ‡เจน เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจ•เจฟ เจธเจฐเจตเจฐ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเฉ‡เจตเฉ‡: If-Modified-Since เจ…เจคเฉ‡ If-None-Match

HTTP / 2

เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจนเฉเจฃ HTTP/2 เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจธเฉ‡เจตเจพ HTTP/2 เจฆเฉเจ†เจฐเจพ เจธเจฐเจตเจฐ เจฆเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเจพ เจธเจฐเจตเจฐ HTTP/2 เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ HTTP/1.1 เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ‹เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹