CORS & JSONP 学习笔记一

什么是跨域?

首先,现代浏览器为了安全,做了一个同源限制.

也就是所谓的同源安全策略.

本质上,其实是不存在所谓的跨不跨域的.
把浏览器想象成一个发送网络请求的软件.
按照道理来说,请求都是可以发送出去的.
但是在 web 端,浏览器里,这么做的就不合适.
如果网络上的接口可以不受限制的被任意人调用.
那将是一个非常混乱的场景.
所以,为了防止这种情况,浏览器做了这个同源策略来防止这种情况发生.
对,一般服务器不管这个事情.

跨域指的是,A网站内部向B网站发送一个AJAX请求.

由于浏览器有同源策略的限制,默认情况下,是不允许 A网站向 B 网站请求数据资源的.

http://my.website.com/ ---> http://your.website.com/ 是不允许的.

具体来说,凡是发送请求中,协议,主机名,端口号 有一个不同,即为跨域请求.

上述例子:my.website.comyour.website.com 就属于主机名不同而导致的跨域.

具体可以参照下面这个表.

image.png

总结一句:

协议相同 + 域名相同 + 端口号相同

浏览器才认为是同一个网站.
才不同受到同源策略的影响.
才可以正常的发送 AJAX 请求.

其他情况下,发送 AJAX 请求,都属于跨域.

请注意: 这里说的是 XMLHttpRequest 下的 AJAX 请求.

对于 ,

你可能感兴趣的:(CORS & JSONP 学习笔记一)