这个问题已经在这里有一个答案:
- 的XMLHttpRequest不能加载XXX否“访问控制允许来源”标题 6答案
也有一些是跨源资源共享(CORS) ,我从来没有真正了解,即具有跨来源的HTTP请求,它不是得来决定哪些服务器(S)它要信任客户端; 相反,服务器宣告(在Access-Control-Allow-Origin
响应报头)的一个或多个特定的客户端(来源)信任它。 如果服务器说,客户端信任服务器使用的支持CORS的浏览器将只提供服务器对应用程序的响应。 这似乎是建立两个HTTP双方之间的信任关系的反向方式。
是什么让我更有意义类似于以下机制:客户声明起源的一个列表,它信任; 例如,通过一些虚构<meta allow-cross-origin="https://another-site:1234"/>
中的元素<head>
(当然浏览器必须确保这些元件是只读,并且不能被去除,修改或通过脚本增强。)
什么是我误解约CORS? 为什么会信任来源的客户端的声明不起作用? 为什么这些服务器得到确认哪些客户端(来源)可以信任它的反应? 是谁从谁通过CORS实际保护? 它保护的服务器或客户端?
(这是一个很大的问题。我希望这是清楚的,我没想到的答案,每一种,而只是指出我的根本误解的答案。)