第84天 请描述你对浏览器同源策略的理解
Activity
ghost commentedon Jul 9, 2019
同源策略是指,某个页面上执行的 AJAX/Fetch 请求只能访问到同域名下的 URL。
这是出于安全性考虑,然而在某些需要跨域的场景中,通过在服务端设置 CORS 响应头
Access-Control-Allow-Origin
(允许的来源域名)、Access-Control-Allow-Method
(允许的 HTTP Method)等,可以响应来自其他域的请求。dondonZh commentedon Jul 9, 2019
解决同源策略:
1.代理转发
2.服务端设置 Access-Control-allow-Origin Access-Control-Allow-Method
nowherebutup commentedon Jul 9, 2019
出于浏览器的安全考虑,避免沾染其他域的恶意文件代码,只有协议,域名,端口都相同的文档才能被读写;
解决同源策略的方法:
daisybaicai commentedon Jul 9, 2019
浏览器有同源策略,不允许ajax访问其他域接口。
协议,域名,端口一个不同就是跨域。
解决跨域:
1.img,src,link的标签跨域跨域。
2.JSONP也可以跨域
3.http header设置Access-Control-Allow-Origin/Headers/Methods.
pokerLife commentedon Jul 9, 2019
摘自谷歌:
同源的三个要素
跨域的方式包括:后端设置header、JSONP、正向代理、CORS、WebSocket等。
AnsonZnl commentedon Jul 9, 2019
为了安全,浏览器同源策略是指,某个页面上执行的 AJAX请求只能访问到同域名下同端口的 URL。
请求的地址,协议 域名 端口 有一个不一样就会发生跨域,解决跨域一般使用jsonp或者服务端设置Response header Access-control-Allow-Origin
参考:https://www.jianshu.com/p/89a377c52b48
lizhesystem commentedon Jun 27, 2020
概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。
什么是跨域:
smile-2008 commentedon Feb 24, 2021
xiaoqiangz commentedon Jun 22, 2022
浏览器同源指的是:端口、域名、协议三种必须是相同,如果一种不同就相当于是不同的域,http请求就会跨域,如果要解决可以用jsonp、后端配置header请求头Access-control-Allow-origin、nginx配置反向代理。