zoukankan      html  css  js  c++  java
  • aja如何解决跨域请求?

    一、什么是跨域

    举个例子:http://www.a.com/a.js访问以下URL的结果

    URL说明是否允许通信
    http://www.a.com/b.js 请求地址不同 允许
    http://www.a.com/script/b.js 请求地址不同 允许
    https://www.a.com/b.js 协议不同 不允许
    http://script.a.com/b.js 子域不同 不允许
    http://a.com/b.js 子域不同 不允许
    http://www.b.com/b.js 主域不同 不允许
    http://www.a.com:8000/b.js 端口不同 不允许
    http://70.32.92.74/b.js 域名和域名对应ip 不允许

    跨域结果:浏览器不能执行其他域的脚本(即:浏览器的同源策略造成)

    浏览器控制台报错:

    XMLHttpRequest cannot load http://external-domain/service. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://my-domain’ is therefore not allowed access.

    二、为什么要跨域

    Web浏览器针对恶意的代码所进行的措施。安全。

    三、跨域的应用场景

    1、来自 home.example.com 的文档里的脚本读取 developer.example.com载入的文档的属性。(子域不同)

    2、来自 home.example.com 的文档里的脚本读取 text.segmentfault.com载入的文档的属性。(子域、主域不同)

    三、如何跨域

    方式有很多,常用的两种思路:

    1、在服务端设置response header

    2、Jsonp:动态<script>标签,get请求

  • 相关阅读:
    ReSharper Tips—GotoImplementation
    Possible multiple enumeration of IEnumerable
    Hello, Razor!
    自话自说——POI使用需要注意一个地方
    css中怎么设置透明度的问题
    记录排查国标直播流播放卡顿的问题
    互联网上做广告的优点
    C#、.Net经典面试题集锦(一)
    什么是MFC
    C/S与B/S 的区别
  • 原文地址:https://www.cnblogs.com/cxnian/p/8080655.html
Copyright © 2011-2022 走看看