标签:www 浏览器 跨域 Intern 域名 同源 Day46 com
什么是跨域
跨域的概念:当一个请求URL的协议、域名、端口三者间任意一个与当前页面的URL不同即为跨域。
http://www.test.com:8080/abcdefg
http协议、www子域名、test.com域名、8080端口(默认80
)、abcdefg资源文件
比如:
跨域问题:跨域指的是浏览器不能执行其他网站的脚本。是由浏览器的同源策略造成的。
什么是同源策略
同源是指:“协议+域名+端口”三者相同,即便两个不同的域名指向同一个ip地址,也非同源。
是不是不是浏览器就没有这个问题?对的,跨域只发生在浏览器。
但是HTML特殊标签,比如<link>
、<img>
等这种标签是可以跨域的,具有跨域特性,可以直接访问,并不会报错。
同源策略目的:是浏览器最核心最基本的安全功能,如果缺少了同源策略浏览器很容易受到XSS、CSFR等攻击。保证用户信息安全,防止恶意网站窃取数据。同源策略是必须的,否则cookie可以共享。
跨域的解决方案
-
Proxy代理(用的最多):通过中间件来实现,浏览器有跨域限制,但是服务器没有跨域限制,所以中间件其实就是服务器(服务器多数据进行了转发而已)
-
原理图
-
-
Jsonp:利用script标签,远程动态加载js代码
-
CORS(服务器端解决)
-
Ngnix反向代理
-
Websocket
-
postMessage
参考
https://www.bilibili.com/video/BV1pA411u7Ji
标签:www,浏览器,跨域,Intern,域名,同源,Day46,com 来源: https://www.cnblogs.com/OFSHK/p/14615913.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。