За всеки сайт е важно правилно да се настроят HTTP заглавията. Написани са много статии по темата за заглавията. Тук обобщаваме натрупания опит и документацията RFC. Някои от заглавията са задължителни, други остарели, а трети могат да доведат до объркване и противоречия. Направихме пузомерка за . В отличие от много други услуги, които просто показват заглавията, тази услуга позволява:
- да се зададе стойност на типичните заглавия;
- да се добавят собствени произволни заглавия;
- да се посочи версия на HTTP протокола: 1.0, 1.1, 2 (проверява дали се поддържа HTTP/2);
- да се посочи метод на заявка, време на чакане и данни postdata за изпращане на сървъра;
- също така пузомерката проверява коректността на отговорите на заявките If-Modified-Since, If-None-Match, ако в отговора на сървъра има Last-Modified или ETag.
Не претендираме за истинността в последната инстанция. За отделно съдържание и за отделни проекти, разбира се, могат да има отклонения. Но тази услуга определено ще подскаже на какво трябва да обърнете внимание, възможно е да е полезно да редактирате своите заглавия. По-долу е списък на нещата, на които услугата обръща внимание. Защо е така, прочетете .
Задължителни заглавия
- Date
- Content-Type с указание charset за текстовото съдържание, желателно е utf-8
- Content-Encoding компресия за текстовото съдържание
Остаряли и ненужни заглавия
- Server с подробна версия на уеб сървъра
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
Желателни заглавия за безопасност
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy или Content-Security-Policy-Report-Only за забрана на вградени скриптове и стилове.
Заглавия за кеширане
Задължителни са за статично съдържание с дълъг срок на кеширане и изключително желателни за динамично съдържание с кратък срок на кеширане.
- Last-Modified
- ETag
- Cache-Control
- Vary
- Важно е сървърът да отговаря коректно на заглавията: If-Modified-Since и If-None-Match
HTTP/2
Сега сървърът трябва да поддържа HTTP/2. По подразбиране услугата проверява работата на сървъра по HTTP/2. Ако вашият сървър не поддържа HTTP/2, изберете HTTP/1.1.
Източник: habr.com
