- CORS的意义:在不同domain之间共享数据
- 通过在请求中附带登陆token实现登陆过一次后,就可以免登陆的功能
- 如果有恶意网站使用一些特殊手段骗取浏览器把本来只会发给其他网站的token也发给恶意网站了。这下恶意网站就可以使用token以用户的身份登陆了。(Cross-site request forgery)
- 为了防止这种行为,浏览器一般只允许相同demain内的web相互请求数据
- 但实际情况这是不现实的,一个页面的所有数据不可能都存在一个domain下。比如第三方的api
- 于是才有了CORS跨域功能出现。就是指怎么在保证安全的情况下,一个页面可以从不同domain中获取数据。
- 怎么实现:
- CORS必须要server配合才能实现。
- 原理是浏览器发出外域的请求时,会在请求(Request)的header中加入一项,如图
- 就是把发出请求的页面的domain告诉被请求的服务器。
- 服务器通过这个header判断是否是被允许的源。比如我的系统由两个domain A和B组成。A上的一个网页请求B中的资源。当B收到请求,发现是来至A的网页在请求,才回传数据。
- 这还不够,B还需要在回传的数据的Respond的header中加入下面这一项:
浏览器CORS跨域笔记
最新推荐文章于 2024-09-25 08:55:50 发布
CORS(跨源资源共享)允许浏览器在不同域名之间共享数据,以实现安全的数据交互。它需要服务器配合,在请求头中添加特定信息,并在响应头中设置相应字段,确保只有被许可的源可以获取数据。在本地文件请求服务器资源时,由于没有域名和CORS头,浏览器会阻止请求,此时可以使用JSONP作为替代方案。
摘要由CSDN通过智能技术生成