跨域及解决跨域

2020-09-12  本文已影响0人  酒暖花深Q

同源策略:ajax请求时,浏览器要求当前网页和server必须同源(安全)

同源的意思是:协议,域名,端口 三者必须保持一致

前端:http://a.com:8082/
server: https://b.com/api/xxxx (默认的端口号就是8080

http:协议 ; a.com:域名; 8082 :端口号

加载图片,css ,js 可无视同源策略的要求
1.png

跨域:所有的跨越都必须经过server端允许和配合。未经过server端允许就实现的跨域说明浏览器有漏洞。

解决跨域

(1) jsonp 解决跨域的原理:当我们访问一个url地址的时候,服务器并不是只能够返回 HTML文件,它可以返回任意的动态拼接数据,只要数据格式符合 HTML格式要求。同样的,<script src="https://www.qunar.com/hotel/mustTry"></script>,也不一定 返回一个js文件,可以是任意的符合js格式的数据。

所以,</script>可以绕过跨域限制,(</script>返回的地址是跨域的地址,服务器可以任意拼接数据),</script>就可以获得跨域的数据,只要服务器愿意返回。

(2)通过 CORS 服务器设置 http header

上一篇 下一篇

猜你喜欢

热点阅读