Dla każdej strony internetowej ważne jest prawidłowe skonfigurowanie nagłówków HTTP. Na temat nagłówków napisano wiele artykułów. Tutaj podsumowaliśmy zgromadzoną wiedzę oraz dokumentację RFC. Niektóre nagłówki są obowiązkowe, inne przestarzałe, a niektóre mogą wprowadzać zamieszanie i sprzeczności. Stworzyliśmy narzędzie do . W odróżnieniu od wielu innych serwisów, które po prostu pokazują nagłówki, ten serwis umożliwia:
- ustawienie wartości typowych nagłówków;
- dodanie własnych nagłówków;
- określenie wersji protokołu HTTP: 1.0, 1.1, 2 (sprawdza, czy obsługiwany jest HTTP/2);
- określenie metody żądania, czasu oczekiwania oraz danych postdata do wysłania do serwera;
- narzędzie również sprawdza poprawność odpowiedzi na żądania If-Modified-Since, If-None-Match, jeśli w odpowiedzi serwera znajduje się Last-Modified lub ETag.
Nie roszcimy sobie prawa do ostatecznej prawdy. Dla odrębnych treści oraz dla konkretnych projektów mogą występować wyjątki. Ale ten serwis z pewnością wskaże, na co warto zwrócić uwagę, być może pomocne będzie edytowanie własnych nagłówków. Poniżej lista rzeczy, na które zwraca uwagę serwis weryfikujący. Dlaczego tak, przeczytaj .
Obowiązkowe nagłówki
- Date
- Content-Type z określeniem charset dla treści tekstowej, najlepiej utf-8
- Content-Encoding kompresja dla treści tekstowej
Przestarzałe i niepotrzebne nagłówki
- Server z dokładną wersją serwera www
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
Pożądane nagłówki dla bezpieczeństwa
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy lub Content-Security-Policy-Report-Only, aby zabronić osadzonym skryptom i stylom.
Nagłówki do cache'owania
są obowiązkowe dla statycznych treści z długim okresem cache oraz niezwykle pożądane dla dynamicznych treści z krótkim okresem cache.
- Last-Modified
- ETag
- Cache-Control
- Vary
- Ważne, aby serwer poprawnie odpowiadał na nagłówki: If-Modified-Since i If-None-Match
HTTP/2
Obecnie serwer powinien obsługiwać HTTP/2. Domyślnie serwis sprawdza działanie serwera zgodnie z HTTP/2. Jeśli Twój serwer nie obsługuje HTTP/2, wybierz HTTP/1.1.
Źródło: habr.com
