JSONP_跨域

2017-10-19  本文已影响0人  顺丰笑嘻嘻

1.什么是同源策略

同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。


2.什么是跨域?跨域有几种实现形式

跨域允许不同域的接口进行交互
跨域有几种实现形式

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

3.JSONP 的原理是什么

  1. 首先是利用script标签的src属性来实现跨域。
  2. 通过将前端方法作为参数传递到服务器端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信。
  3. 由于使用script标签的src属性,因此只支持get方法

4.CORS是什么

  1. 前端用 XMLHttpRequest 跨域访问时,浏览器会在请求头中添加:origin
    2.后端会添加一个响应头:Access-Control-Allow-Origin
    3.浏览器判断该相应头中Access-Control-Allow-Origin的值是否包含 Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。

5.跨域的解决方式

  1. JSONP方法
    代码地址:https://github.com/zhanghan0529/zh_-/tree/master/JSONP
  2. CORS方法
    代码地址:https://github.com/zhanghan0529/zh_-/tree/master/CORS
  3. 降域方法
    代码地址:https://github.com/zhanghan0529/zh_-/tree/master/%E9%99%8D%E5%9F%9F
  4. postMessage方法
    代码地址:https://github.com/zhanghan0529/zh_-/tree/master/postMessage
上一篇 下一篇

猜你喜欢

热点阅读