Open Silencer-1984 opened 3 years ago
因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名或者端口有一个不同就是跨域,Ajax 请求会失败。
那么是出于什么安全考虑才会引入这种机制呢? 其实主要是用来防止 CSRF 攻击的。简单点说,CSRF 攻击是利用用户的登录态发起恶意请求。
请求跨域了,那么请求到底发出去没有? 请求必然是发出去了,但是浏览器拦截了响应。
像<img/>、<link>、<script>这样是无视同源策略,可以利用访问一些关于页面统计的服务。
<img/>
<link>
<script>
JSONP 的原理很简单,就是利用 Githubissues.
跨域
因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名或者端口有一个不同就是跨域,Ajax 请求会失败。
那么是出于什么安全考虑才会引入这种机制呢? 其实主要是用来防止 CSRF 攻击的。简单点说,CSRF 攻击是利用用户的登录态发起恶意请求。
请求跨域了,那么请求到底发出去没有? 请求必然是发出去了,但是浏览器拦截了响应。
像
<img/>
、<link>
、<script>
这样是无视同源策略,可以利用访问一些关于页面统计的服务。JSONP
JSONP 的原理很简单,就是利用 Githubissues.