美文网首页
jsonp Cross Site Request

jsonp Cross Site Request

作者: Zihowe | 来源:发表于2017-08-31 15:17 被阅读8次

跨域解释:

Domain:

http://     www  .   abc.com:    8080    /    scripts/AjaxPlugin.js

协议       子域名      主域名      端口号     请求资源地址

~当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同于。

~不同域之间互相请求资源,就算作“跨域”。

浏览器会阻止ajax请求非同源的内容
所有的浏览器都遵守同源策略,这个策略能够保证一个源的动态脚本不能读取或操作其他源的http响应和cookie,这就使浏览器隔离了来自不同源的内容,防止它们互相操作。

怎么解决跨域问题

第三方网站开启HTTP的Access-Control-Allow-Origin参数

只有当目标页面的response中,包含了 Access-Control-Allow-Origin 这个header,并且它的值里有我们自己的域名时,浏览器才允许我们拿到它页面的数据进行下一步处理。如:

Access-Control-Allow-Origin: http://run.jsbin.io

如果它的值设为 * ,则表示谁都可以用:

Access-Control-Allow-Origin: *
image.png

⚠️实际请求中B Server实际是返回了数据的只是浏览器不让使用而已~

image.png image.png

JSONP

JSONP(JSON with Padding) 是一种跨域请求方式
主要原理是利用了script 标签可以跨域请求的特点,由其 src 属性发送请求到服务器,服务器返回 JS 代码,网页端接受响应,然后就直接执行了,这和通过 script 标签引用外部文件的原理是一样的。

Reference:
https://www.teakki.com/p/57dfb23cd3a7507f975e7738
https://code-ken.github.io/2016/07/13/jsonp-json-ajax/

相关文章

网友评论

      本文标题:jsonp Cross Site Request

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