Verbotenes Anfrage-Headerfeld

Ein verbotenes Anfrage-Headerfeld ist ein HTTP-Header Name-Wert-Paar, das in einer Anfrage nicht programmatisch gesetzt oder modifiziert werden kann. Für Header, die in Antworten nicht modifiziert werden dürfen, siehe verbotener Antwortheader-Name.

Die Modifikation solcher Header ist verboten, da der Benutzeragent die vollständige Kontrolle darüber behält. Zum Beispiel ist der Date-Header ein verbotenes Anfrage-Headerfeld, daher kann dieser Code das Date-Feld der Nachricht nicht setzen:

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

Namen, die mit Sec- beginnen, sind reserviert für das Erstellen neuer Header, die von APIs sicher sind, die Entwicklern Kontrolle über Header gewähren, wie etwa fetch(). Verbotene Header sind eines der folgenden:

Hinweis: Der User-Agent-Header war früher verboten, ist es aber nicht mehr. Chrome lässt den Header jedoch noch immer stillschweigend aus Fetch-Anfragen weg (siehe Chromium Fehler 571722).

Hinweis: Während der Referer-Header in der Spezifikation als verbotener Header aufgelistet ist, hat der Benutzeragent nicht die vollständige Kontrolle darüber und der Header kann programmatisch modifiziert werden. Zum Beispiel kann bei Verwendung von fetch() der Referer-Header programmatisch über die referrer-Option modifiziert werden.

Siehe auch