Forbidden header name

Ein verbotener Header-Name ist der Name eines HTTP-Headers, der programmatisch nicht modifiziert werden kann; speziell ein HTTP-Request-Header-Name (im Gegensatz zu einem verbotenen Antwort-Header-Name).

Die Modifikation solcher Header ist verboten, da der Benutzeragent die volle Kontrolle über sie behält. Namen, die mit Sec- beginnen, sind reserviert, um neue Header zu erstellen, die vor APIs sicher sind, die Entwicklern die Kontrolle über Header gewähren, wie z.B. fetch().

Verbotene Header-Namen beginnen mit Proxy- oder Sec- oder gehören zu den folgenden Namen:

Hinweis: Der User-Agent Header ist gemäß Spezifikation nicht mehr verboten — siehe Liste der verbotenen Header-Namen (dies wurde in Firefox 43 implementiert) — er kann nun in einem Fetch Headers Objekt gesetzt werden oder mit der setRequestHeader() Methode von XMLHttpRequest. Allerdings wird Chrome diesen Header stillschweigend aus Fetch-Anfragen entfernen (siehe Chromium Bug 571722).

Hinweis: Während der Referer Header in der Spezifikation als verbotener Header aufgeführt ist, behält der Benutzeragent nicht die volle Kontrolle darüber und der Header kann programmatisch modifiziert werden. Zum Beispiel kann bei der Verwendung von fetch() der Referer Header programmatisch über die referrer Option geändert werden.

Siehe auch