Verbotener Anfrage-Header

Ein verbotener Anfrage-Header ist ein HTTP-Header Name-Wert-Paar, das in einer Anfrage nicht programmgesteuert gesetzt oder geändert werden kann. Für Header, deren Änderung in Antworten verboten ist, siehe verbotener Antwort-Header-Name.

Die Änderung solcher Header ist verboten, da der Benutzeragent die vollständige Kontrolle über sie behält. Zum Beispiel ist der Date-Header ein verbotener Anfrage-Header, daher kann dieser Code das Nachrichtenfeld Date nicht setzen:

js
fetch("https://httpbin.org/get", {
  headers: {
    Date: new Date().toUTCString(),
  },
});

Namen, die mit Sec- beginnen, sind reserviert für die Erstellung neuer Header, die von APIs sicher sind, die den Entwicklern die Kontrolle über Header ermöglichen, wie etwa fetch(). Verbotene Header sind eine der folgenden:

Hinweis: Der User-Agent-Header war früher verboten, ist es aber nicht mehr. Chrome entfernt diesen Header jedoch trotzdem stillschweigend aus Fetch-Anfragen (siehe Chromium-Bug 571722).

Hinweis: Obwohl der Referer-Header im Standard als verboten aufgeführt ist, behält der Benutzeragent nicht die vollständige Kontrolle darüber, und der Header kann programmgesteuert geändert werden. Zum Beispiel kann beim Verwenden von fetch() der Referer-Header programmgesteuert über die referrer-Option geändert werden.

Siehe auch