Сэрвіс праверкі HTTP-загалоўкаў сервера

Для любога сайта важна правільна наладзіць HTTP-загалоўкі. На тэму загалоўкаў было напісана шмат артыкулаў. Тут мы абагульнілі назапашаны досвед, дакументацыю RFC. Нейкія з загалоўкаў абавязковыя, нейкія састарэлыя, нейкія могуць уносіць блытаніну і супярэчнасці. Мы зрабілі пузамерку для аўтаматычнай праверкі HTTP-загалоўкаў вэб-сервера. У адрозненні ад шматлікіх іншых сэрвісаў, якія проста паказваюць загалоўкі, дадзены сэрвіс дазваляе:

  1. задаць значэнне тыпавых загалоўкаў;
  2. дадаць свае адвольныя загалоўкі;
  3. пазначыць версію HTTP-пратакола: 1.0, 1.1, 2 (правярае ці падтрымліваецца HTTP/2);
  4. пазначыць метад запыту, час чакання і дадзеныя postdata для адпраўкі на сервер;
  5. таксама пузамерка правярае карэктнасць адказу на запыты If-Modified-Since, If-None-Match, калі ў адказе сервера ёсць Last-Modified ці ETag.


Не прэтэндуем на сапраўднасць у апошняй інстанцыі. Для асобнага кантэнту і для асобных праектаў, вядома, могуць быць адступленні. Але дадзены сэрвіс сапраўды падкажа на што варта звярнуць увагу, магчыма вам будзе карысна адрэдагаваць свае загалоўкі. Далей спіс таго на што зважае сэрвіс праверкі. Чаму так, чытайце у артыкулах на хабры.

Абавязковыя загалоўкі

  • дата
  • Content-Type з указаннем charset для тэкставага кантэнту пажадана utf-8
  • Content-Encoding сціск для тэкставага кантэнту

Састарэлыя і непатрэбныя загалоўкі

  • Server з дэталёвай версіяй вэб-сервера
  • X-Power-By
  • X_ASPNET-Version
  • Заканчваецца
  • Pragma
  • P3P
  • Праз
  • X-UA-сумяшчальны

Пажаданыя загалоўкі для бяспекі

  • X-Content-Type-Options
  • X-XSS-абарона
  • Строгая транспартная бяспека
  • Палітыка рэфералаў
  • Feature-Policy
  • 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.

Крыніца: habr.com

Дадаць каментар