zoukankan      html  css  js  c++  java
  • 跨域详情

    什么是跨域
    JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:

    首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:
    URL 说明 是否允许通信
    http://www.a.com/a.js
    http://www.a.com/b.js 同一域名下 允许
    http://www.a.com/lab/a.js
    http://www.a.com/script/b.js 同一域名下不同文件夹 允许
    http://www.a.com:8000/a.js
    http://www.a.com/b.js 同一域名,不同端口 不允许
    http://www.a.com/a.js
    https://www.a.com/b.js 同一域名,不同协议 不允许
    http://www.a.com/a.js
    http://70.32.92.74/b.js 域名和域名对应ip 不允许
    http://www.a.com/a.js
    http://script.a.com/b.js 主域相同,子域不同 不允许
    http://www.a.com/a.js
    http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
    http://www.cnblogs.com/a.js
    http://www.a.com/b.js 不同域名 不允许

    egg:

    ajax或者iframe指向的地址中,二级域名、端口、协议必须与主页面完全相同,否则就算跨域
    比如
    a.baidu.com访问b.baidu.com 是跨域;
    a.baidu.com:8080访问a.baidu.com:80 是跨域;
    http://a.baidu.com访问https://a.baidu.com 是跨域
     
    跨域是指从一个域名的网页去请求另一个域名的资源。比如从http://www.baidu.com/ 页面去请求 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域。
    如何实现跨域取到数据,LS说的JSONP是最为常见,你可以参考这篇文章 跨域与跨域访问
     
  • 相关阅读:
    用JavaScript实现div的鼠标拖拽效果
    JavaScript插件制作-tab选项卡
    javascript插件制作学习-制作步骤
    JavaScript实现页面滚动到div区域div以动画方式出现
    RabbitMQ生产者消费者
    基于TCP/IP协议的socket通讯client
    基于TCP/IP协议的socket通讯server
    MQTT 发布者订阅者
    linux实用命令
    RabbitMQ CentOS6.5 安装
  • 原文地址:https://www.cnblogs.com/sdya/p/5664086.html
Copyright © 2011-2022 走看看