クロスドメインリソース共有GET: '「危険なヘッダー「ETAG」を回答から得ることを拒否しました」

StackOverflow https://stackoverflow.com/questions/5822985

質問

カスタムヘッダーのない簡単なGETリクエスト。応答は予想通りに返されます。ボディ内のデータはアクセス可能ですが、ヘッダーではありません。

「ETAG」ヘッダーにアクセスしようとすると、ブラウザは例外を提起します。

危険なヘッダー「ETAG」を取得することを拒否しました

Chrome、Safari、Firefoxはすべて同じように振る舞います。 IEでテストしませんでした。

ここに何が欠けていますか?

役に立ちましたか?

解決

CORを使用すると、単純な応答ヘッダーのみが公開されます。単純な応答ヘッダーが定義されています ここ. ETag 単純な応答ヘッダーではありません。非シンプルヘッダーを公開する場合は、 Access-Control-Expose-Headers ヘッダー、そうです:

Access-Control-Expose-Headers: ETag

ただし、非シンプルなヘッダーが正しく露出しないようにするChrome、Safari、Firefoxのバグに気づいたことに注意してください。これは今までに修正されるかもしれません、私は確信がありません。

プリフライトは非get/post httpメソッドまたは非シンプルにのみ必要なので、プレフィットリクエストを実行する必要はありません リクエスト ヘッダー(そしてあなたは尋ねています 応答 ヘッダー)。

他のヒント

Ajax 2.0(クロスドメイン共有)を試したことがありますか? http://www.w3.org/tr/xmlhttprequest2/#ref-cors

また、これを行う別の方法があります。これはJSON-Pと呼ばれ、JSONリクエストのようなものですが、クロスドメインに使用できます。 http://en.wikipedia.org/wiki/jsonp

ただし、正しくセットアップしない場合、両方ともサイトの所有者にとって非常に危険です。したがって、使用するときは注意してください。

PS]これが役立つかどうかわからない: http://www.w3.org/protocols/rfc2616/rfc2616-sec14.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top