0

So I know that if I have custom headers in my Ajax calls browser does a preflight to ensure that the resource is available. My problem is that my REST service uses Http-Authorization for security, but in the OPTIONS call this header is not getting passed in, even though it's added through beforeSend().

Do I have to reply to OPTIONS unauthenticated?

4

1 に答える 1

2

OPTIONSリクエストは CORS (Cross Origin Resource Sharing) のプリフライト チェックだと思います。リクエストを制御できるとは思いませんOPTIONS。ブラウザが自動的にリクエストを作成します。

また、必ずしもこれが問題であるとは考えていません。ホワイトリスト ベースで CORS 応答ヘッダーを実装できます。たとえば、ドメイン X と Y は許可されているが、Z は許可されていないとしますOPTIONS。Y についても同様ですが、Z 出身の場合は「許可されていません」と表示されます。

これを回避する方法と、古いブラウザー (誰か?) との後方互換性のために、DomainRequestJSONp を使用できます。

于 2012-10-31T23:12:53.247 に答える