@@ -1015,6 +1015,7 @@ is a <a>byte-case-insensitive</a> match for one of
1015
1015
<li> `<code> Keep-Alive</code> `
1016
1016
<li> `<a http-header><code>Origin</code></a> `
1017
1017
<li> `<code> Referer</code> `
1018
+ <li> `<code> Set-Cookie</code> `
1018
1019
<li> `<code> TE</code> `
1019
1020
<li> `<code> Trailer</code> `
1020
1021
<li> `<code> Transfer-Encoding</code> `
@@ -1025,10 +1026,18 @@ is a <a>byte-case-insensitive</a> match for one of
1025
1026
<p> or a <a for=/>header name</a> that when <a>byte-lowercased</a>
1026
1027
<a for="byte sequence">starts with</a> `<code> proxy-</code> ` or `<code> sec-</code> `.
1027
1028
1028
- <p class=note> These are forbidden so the user agent remains in full control over them.
1029
- <a for=/>Header names</a> starting with `<code> Sec-</code> ` are reserved to allow new
1030
- <a for=/>headers</a> to be minted that are safe from APIs using <a for=/>fetch</a> that allow
1031
- control over <a for=/>headers</a> by developers, such as {{XMLHttpRequest}} . [[XHR]]
1029
+ <div class=note>
1030
+ <p> These are forbidden so the user agent remains in full control over them.
1031
+
1032
+ <p> <a for=/>Header names</a> starting with `<code> Sec-</code> ` are reserved to allow new
1033
+ <a for=/>headers</a> to be minted that are safe from APIs using <a for=/>fetch</a> that allow
1034
+ control over <a for=/>headers</a> by developers, such as {{XMLHttpRequest}} . [[XHR]]
1035
+
1036
+ <p> The `<code> Set-Cookie</code> ` header is semantically a response header, so it is not useful on
1037
+ requests. Because `<code> Set-Cookie</code> ` headers cannot be combined, they require more complex
1038
+ handling in the {{Headers}} object. It is forbidden here to avoid leaking this complexity into
1039
+ requests.
1040
+ </div>
1032
1041
1033
1042
<p> A <dfn export>forbidden response-header name</dfn> is a <a for=/>header name</a> that is a
1034
1043
<a>byte-case-insensitive</a> match for one of:
0 commit comments