Für jede Website ist es wichtig, die HTTP-Header korrekt einzurichten. Über Header wurden viele Artikel verfasst. Hier haben wir die gesammelten Erfahrungen und die RFC-Dokumentation zusammengefasst. Einige Header sind Pflicht, einige veraltet, andere können Verwirrung und Widersprüche verursachen. Wir haben eine Messlatte für . Im Gegensatz zu vielen anderen Diensten, die einfach die Header anzeigen, ermöglicht dieser Dienst:
- Werte für Standardheader festzulegen;
- eigene benutzerdefinierte Header hinzuzufügen;
- die HTTP-Protokollversion anzugeben: 1.0, 1.1, 2 (überprüft, ob HTTP/2 unterstützt wird);
- die Anforderungsmethode, die Wartezeit und die Postdaten zum Senden an den Server anzugeben;
- außerdem überprüft die Messlatte die Korrektheit der Antworten auf If-Modified-Since-, If-None-Match-Anfragen, wenn im Serverantwort der Last-Modified- oder ETag-Header vorhanden ist.
Wir erheben keinen Anspruch auf endgültige Richtigkeit. Für spezifische Inhalte und Projekte kann es natürlich Abweichungen geben. Dieser Dienst weist jedoch genau darauf hin, worauf Sie achten sollten; möglicherweise ist es Ihnen hilfreich, Ihre Titel zu überarbeiten. Im Folgenden finden Sie eine Liste, auf die der Prüfservice achtet. Warum das so ist, lesen Sie .
Verpflichtende Header
- Date
- Content-Type mit Angabe des Charset für Textinhalte sollte utf-8 sein
- Content-Encoding für die Kompression von Textinhalten
Veraltete und unnötige Header
- Server mit detaillierter Version des Webservers
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
Wünschenswerte Header für Sicherheit
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy oder Content-Security-Policy-Report-Only zum Verbot von eingebetteten Skripten und Stilen.
Header für Caching
Sind zwingend erforderlich für statische Inhalte mit langer Cachedauer und äußerst wünschenswert für dynamische Inhalte mit kurzer Cachedauer.
- Last-Modified
- ETag
- Cache-Control
- Vary
- Es ist wichtig, dass der Server korrekt auf die Header: If-Modified-Since und If-None-Match reagiert.
HTTP/2
Der Server sollte jetzt HTTP/2 unterstützen. Standardmäßig überprüft der Dienst, ob der Server mit HTTP/2 funktioniert. Wenn Ihr Server HTTP/2 nicht unterstützt, wählen Sie HTTP/1.1.
Quelle: habr.com
