Mehran Mehran - 6 months ago 17
Javascript Question

Why not all headers can be found in fetch's response?

I'm trying to intercept

response header from
's response:

fetch('', {
method: 'get'
}).then(function(response) {
for (var pair of response.headers.entries()) {
console.log(`${pair[0]}: ${pair[1]}`);

But not all of the headers (as can be seen in developer tools' network) can be found in there! Why is that? Is there any way I can get the header I'm looking for?

Just for clarification, I'm not looking for the cookie but I'm interested to know when the
header is sent.


You cannot read the Set-Cookie header as it is declared as forbidden. The fetch polyfill on github provides a reasonable explanation:

Like with XMLHttpRequest, the Set-Cookie response header returned from the server is a forbidden header name and therefore can't be programatically read with response.headers.get(). Instead, it's the browser's responsibility to handle new cookies being set (if applicable to the current URL). Unless they are HTTP-only, new cookies will be available through document.cookie.