发送不同源请求的基本方式

版权声明:转载-复用,请联系博主微信:qiang510939237 https://blog.csdn.net/qiang510939237/article/details/88131282

请求一个不同源地址:就是我们所说的跨域请求.

同源策略中的同源指的是:

  1. 协议相同,
  2. 域名相同,
  3. 端口相同

同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据.

如果非同源,以下三种行为都将收到限制:
1. Cookie、LocalStorage 和 IndexDB 无法读取。
2. DOM 无法获得。
3. AJAX 请求不能发送。

当前页面访问地址: http://day-12.io/12-cross-orgin.html

希望被请求的地址: http://locally.uiee.com/categories

校验目标:

  1. 能发出去. 2. 能收回来
    img link script iframe

  2. img可以引入外部图片资源
    可以发送不同源地址之间的请求
    无法拿到响应结果

  3. link.真正的定义: 链入一个文档,通过 rel 属性申明链入的文档与当前文档之间的关系,
    可以发送不同源地址之间的请求,
    无法拿到响应结果.

    var link = document.createElement(‘link’);

    link.rel = ‘stylesheet’;

    link.href = ‘http://locally.uieee.com/categories’;

    document.body.appendChild(link);

  4. script
    可以发送不同源地址之间的请求,
    借助于能够作为js执行,
    无法拿到响应结果
    var script = document.createElement(‘script’);
    script.src = ‘http://locally.uieee.com/categories’;
    document.body.appendChild(script); // 开始发起请求

相当于请求的回调 :
function foo(res){
console.log(res);
}

后台接口里返回一个foo函数包裹的js代码(在json格式的字符串外面包裹了一个函数的调用),
返回的结果就变成了一段 js 代码.
响应内容类型 header(‘Content-Type:application/javascript’);

echo “foo({$json})”;

猜你喜欢

转载自blog.csdn.net/qiang510939237/article/details/88131282
今日推荐