跨域
同源策略
同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。
所以xyz.com下的js脚本采用ajax读取abc.com里面的文件数据是会被拒绝的。
同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。
简单来说就是:
1. 什么叫同源策略 1. 一个源的定义 协议+IP(域名)+端口一致,就是同一个源。 2. 同源策略限制了脚本(js)跨网站发请求,能发请求但是拿不到响应
不受同源策略限制的
1. a标签、重定向、form表单的提交
2. script、link标签等不受同源策略的限制,可以引用其他站点内容
JSONP解决跨域问题
jsonp原理解析
jsonp的原理是什么?
利用script标签绕过同源策略的限制,拿到数据
CORS解决跨域问题
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
它允许浏览器向跨源服务器发出XMLHttpRequest请求,从而解决AJAX只能同源使用的限制。
CORS简介
CORS需要浏览器和服务器同时支持。目前基本上主流的浏览器都支持CORS。所以只要后端服务支持CORS,就能够实现跨域。