javascript - Warum muss CORS einige Anfragen vorab testen?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:32:44
0
4
568

CORS-Anfragen werden in einfache Anfragen und nicht einfache Anfragen unterteilt. Bei nicht einfachen Anfragen muss die CORS-Definition eine Vorprüfung für diese nicht einfachen Anfragen einleiten, dh eine Optionsanforderung initiieren und diese anschließend erneut senden Bestätigung, dass der Server domänenübergreifend zulässt. Die ursprüngliche Anfrage war nicht einfach, daher möchte ich fragen, warum Preflight erforderlich ist.

Hier ist eine Antwort auf Stack. Ich verstehe sie nicht sehr gut. Ist jemand bereit, sie zu übersetzen oder kurz zusammenzufassen?

http://stackoverflow.com/ques...

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(4)
黄舟

你要去人家里拿东西,总得经主人同意吧

巴扎黑

跨域是浏览器的同源策略搞出来的事情,
预请求是浏览器行为,拿着当前的域名去问服务端能不能通过。

Ty80

最常用的两个
get 默认不存在跨域,意思是你允许 get 就要有被别人拿走的预期,jsonp 就是利用这点;
post 存在跨域, 因为按意思会对资源产生影响,必须先检验。

某草草

对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。

———— HTTP访问控制(CORS)

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage