chrome Version 52.0.2743.82(64-bit)でフェッチを使用しています。応答のすべてのヘッダーを取得します。以下のスニペットはcontent-type
のみを返しますが、 chrome開発ツールは他の多くの応答ヘッダーを表示します。フェッチから他のヘッダーを取得する方法。
fetch('https://httpbin.org/get')
.then(response => {
const headers = response.headers.entries();
let header = headers.next();
while (!header.done){
console.log(headers.value);
header = header.next();
}
})
Githubの実装をポリフィリング(手動で上書き)してみました。まだ運がない。
Ajax経由でクロスドメインコンテンツをリクエストする場合、すべてのヘッダーにアクセスすることはできません。 Originが同じであれば、すべてのヘッダーにアクセスできます。
W3仕様 ここ で説明されているように、Content-Type
、Last-modified
、Content-Language
、Cache-Control
、Expires
、Pragma
ヘッダーにアクセスできます。
さらにhttps://httpbin.org/get
は、アクセス可能なヘッダーのリストからContent-Type
ヘッダーのみを送信するので、それだけが得られます。
編集: Access-Control-Expose-Headers
を送信して、クライアントが応答でアクセスするヘッダーを指定することで、非標準のCORS応答ヘッダーを公開できます。