美文网首页
同源策略和跨域

同源策略和跨域

作者: 超级关 | 来源:发表于2018-12-12 00:30 被阅读0次

    同源策略

    什么是同源策略?

    同源策略是指浏览器处于安全考虑的情况下,只允许本域下的借口进行交互。不同源的客户端在没有授权的情况下是不允许获取对方资源的。

    本域指的是什么?

    跨域

    跨域是指通过其他方法在其他域下的接口获取数据
    一般来说跨域有三种方法

    1. JSONP
    2. CORS
    3. 降域
    4. postMessage

    这里主要着重介绍一下CORS是如何实现跨域的。
    CORS全称是跨域资源共享(Cross-Origin Resource Sharing),是一种 ajax 跨域请求资源的方式。CORS的原理是当使用XMLHttpRequest 发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin; 浏览器判断该相应头中是否包含 Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。
    例如A网站想要通过ajax向B网站发送ajax请求获取B网站接口的数据,因为同源策略,未经B网站允许A网站无法获取接口的数据。但是A网站和B网站协商之后,同意获取端口数据,B网站的后端就会加上允许A网站访问,此时A网站在发送请求时就会加一个请求头,当B网站收到后会处理相应,返回数据。

    在js 的代码中,需要额外加上一句代码设定请求头


    code.png

    相关文章

      网友评论

          本文标题:同源策略和跨域

          本文链接:https://www.haomeiwen.com/subject/wqqyhqtx.html