Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion files/en-us/glossary/forbidden_request_header/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,17 @@ Forbidden headers are one of the following:
- {{HTTPHeader("Connection")}}
- {{HTTPHeader("Content-Length")}}
- {{HTTPHeader("Cookie")}}
- `Cookie2`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What browser is this implemented in? MDN doesn't document things that have no implementation.

Copy link
Contributor Author

@verhovsky verhovsky Nov 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All 3 of them. I linked the Chrome source code and I also ran the snippet I posted above that sends the 4 mentioned headers on macOS:

Chrome
Screenshot 2025-11-13 at 17 35 18

Safari
Screenshot 2025-11-13 at 17 35 27

Firefox
Screenshot 2025-11-13 at 17 35 34

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for that clarification @bsmth - I should have searched the history.

I have reverted this in #41964 because Cookie2 is not part of the web platform. I suspect this will come up again until the spec gets updated to remove the mention of this header.

- {{HTTPHeader("Date")}}
- {{HTTPHeader("DNT")}}
- {{HTTPHeader("Expect")}}
- {{HTTPHeader("Host")}}
- {{HTTPHeader("Keep-Alive")}}
- {{HTTPHeader("Origin")}}
- {{HTTPHeader("Permissions-Policy")}}
- `Proxy-` headers
- `Sec-` headers
- {{HTTPHeader("Referer")}}
- {{HTTPHeader("Set-Cookie")}}
- {{HTTPHeader("TE")}}
- {{HTTPHeader("Trailer")}}
- {{HTTPHeader("Transfer-Encoding")}}
Expand All @@ -53,6 +54,9 @@ Forbidden headers are one of the following:
> [!NOTE]
> While the {{HTTPHeader("Referer")}} header is listed as a forbidden header [in the spec](https://fetch.spec.whatwg.org/#forbidden-request-header), the user agent does not retain full control over it and the header can be programmatically modified. For example, when using [`fetch()`](/en-US/docs/Web/API/Window/fetch), the {{HTTPHeader("Referer")}} header can be programmatically modified via the [`referrer` option](/en-US/docs/Web/API/RequestInit#referrer).

> [!NOTE]
> Chrome also forbids `Access-Control-Request-Private-Network`
Comment on lines +57 to +58
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW We should document this header and add it to BCD mdn/browser-compat-data#25467.

Because we have not done so I think this is good (because there is no way for anyone to work out the support story on this) but when BCD/docs exist this would just be in the main list.


## See also

- Related glossary terms:
Expand Down