对于“简单”的HTTP动词(例如GET或POST),是的,将获取整个页面,然后浏览器确定Javascript是否可以使用其内容。服务器不需要知道请求来自何处;它是
浏览器的 工作检查来自服务器的答复,并决定是否JS被允许看到的内容。
对于“非简单”
HTTP动词(例如PUT或DELETE),浏览器使用OPTIONS请求发出“预检请求”。在这种情况下,浏览器首先通过分别检查和来检查是否支持域 和
动词。(有关更多信息,请参见HTML5 Rocks
的CORS页面上的“ 处理不太简单的请求 ”
。)飞行前响应还列出了允许的非简单标头,包括在中。
Access-Control-Allow-Origin``Access-Control-Allow-Methods__
Access-Control-Allow-Headers
这是因为即使Javascript从未看到过跨域结果,允许客户端向服务器发送DELETE请求也可能非常糟糕-
再次提醒您,请记住,服务器通常没有任何义务来验证请求来自合法域(尽管 可以 使用
Origin请求中的标头这样做)。



