Услуга Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅ Π½Π° HTTP ΡΡŠΡ€Π²ΡŠΡ€Π°

Π—Π° всСки уСбсайт Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ HTTP Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅. Много статии са написани ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° заглавията. Π’ΡƒΠΊ смС ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠ»ΠΈ натрупания ΠΎΠΏΠΈΡ‚ ΠΈ RFC докумСнтация. Някои ΠΎΡ‚ заглавията са Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈ са остарСли, Π° някои ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚ ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Π½Π΅ ΠΈ противорСчия. НаправихмС ΠΊΠΎΡ€Π΅ΠΌΠ½Π° Ρ‡Π°Π½Ρ‚Π° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° HTTP Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅ Π½Π° ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π°. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ услуги, ΠΊΠΎΠΈΡ‚ΠΎ просто ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ Π·Π°Π³Π»Π°Π²ΠΊΠΈ, Ρ‚Π°Π·ΠΈ услуга Π²ΠΈ позволява Π΄Π°:

  1. Π·Π°Π΄Π°ΠΉΡ‚Π΅ стойността Π½Π° стандартнитС Π·Π°Π³Π»Π°Π²ΠΊΠΈ;
  2. Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ свои собствСни пСрсонализирани Π·Π°Π³Π»Π°Π²ΠΊΠΈ;
  3. посочСтС вСрсията Π½Π° HTTP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°: 1.0, 1.1, 2 (провСрява Π΄Π°Π»ΠΈ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° HTTP/2);
  4. ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π° заявка, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ ΠΈ постданнитС, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π°;
  5. Beanbag ΡΡŠΡ‰ΠΎ провСрява правилността Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° Π½Π° заявки If-Modified-Since, If-None-Match, Π°ΠΊΠΎ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Last-Modified ΠΈΠ»ΠΈ ETag.


НиС Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° смС истината ΠΎΡ‚ послСдна инстанция. Π—Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΈ Π·Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° отклонСния. Но Ρ‚Π°Π·ΠΈ услуга Ρ‰Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ заглавията си. По-Π΄ΠΎΠ»Ρƒ Π΅ Π΄Π°Π΄Π΅Π½ списък Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ±Ρ€ΡŠΡ‰Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ услугата Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°. Π—Π°Ρ‰ΠΎ Ρ‚Π°ΠΊΠ°, ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π² статии Π½Π° Π₯Π°Π±Ρ€Π΅.

Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ

  • Π”Π°Ρ‚Π°
  • Content-Type, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‰ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π·Π½Π°Ρ†ΠΈ Π·Π° тСкстово ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, Π·Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½Π΅ utf-8
  • Content-Encoding компрСсия Π·Π° тСкстово ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΡΡ‚Π°Ρ€Π΅Π»ΠΈ ΠΈ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ

  • Π‘ΡŠΡ€Π²ΡŠΡ€ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° вСрсия Π½Π° ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π°
  • X-Power-By
  • X_ASPNET-вСрсия
  • Π˜Π·Ρ‚ΠΈΡ‡Π°
  • Pragma
  • P3P
  • Ρ‡Ρ€Π΅Π·
  • X-UA-ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ

Π–Π΅Π»Π°Ρ‚Π΅Π»Π½ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π·Π° сигурност

  • X-Content-Type-Options
  • X-XSS-Π—Π°Ρ‰ΠΈΡ‚Π°
  • Π‘Ρ‚Ρ€ΠΎΠ³Π° транспортна сигурност
  • Referrer-ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°
  • ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π·Π° характСристикитС
  • Content-Security-Policy ΠΈΠ»ΠΈ Content-Security-Policy-Report-Only Π·Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ скриптовС ΠΈ стиловС.

Π₯Π΅Π΄ΡŠΡ€ΠΈ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅

Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π° статично ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ с дълъг ΠΆΠΈΠ²ΠΎΡ‚ Π½Π° кСша ΠΈ силно ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π½ΠΎ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ с ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΆΠΈΠ²ΠΎΡ‚ Π½Π° кСша.

  • ПослСдно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½
  • ETag
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° кСша
  • Π’Π°Ρ€ΠΈ
  • Π’Π°ΠΆΠ½ΠΎ Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΄Π° отговаря ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅: If-Modified-Since ΠΈ If-None-Match

HTTP / 2

Π‘Π΅Π³Π° ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ трябва Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° HTTP/2. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ услугата провСрява Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· HTTP/2. Ако Π²Π°ΡˆΠΈΡΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° HTTP/2, ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ HTTP/1.1.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€