跨域

什么是跨域?

跨域问题是由于javascript语言安全限制中的同源策略造成的。同源策略是由Netscape提出的一个著名的安全策略。 现在所有支持JavaScript 的浏览器都会使用这个策略。同源策略阻止从一个域上加载的脚本去获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这说明浏览器隔离来自不同源的内容,以防止它们之间的操作。所谓同源是指域名,协议,端口均相同。

同源的几种情况:

  1. 不同域名属于跨域,如:www.a.com和www.b.com,另外www.a.com 和www.a.com.cn 也属于不同域名。
  2. 主域名和子域名(二级域名、三级域名等)跨域,如:www.a.com 和 sub.a.com属于跨域,sub.a.com 和 sub1.a.com 之间也是跨域。
  3. 协议属于跨域,如:http://www.a.com 和 https://www.a.com。
  4. 不同端口,如: www.a.com:80和 www.a.com:81 。
  5. IP和域名属于跨域,如:123.125.106.16 和 www.weibo.com。

为什么要跨越?

我们实际上做项目的时候,不可避免地会根据项目需求进行跨站访问,子域和主域之间数据共享等,受到同源策略的影响,要满足这些需求,就要用跨域技术来实现。

跨域技术

  • 设置头文件:例如:
  • res.setHeader("Access-Control-Allow-Origin","*");
     res.setHeader("Access-Control-Allow-Methods","GET,POST");

  • 服务器代理:在服务器端设置代理文件,用来进行跨域请求,客户端直接发送本域内的Ajax请求,从而达到跨域请求的目的。特点:在客户端不存在跨域请求。需要增加代理文件,为了安全需要和对方约定。
  • jsonp:jsonp是一个简单高效的跨域方式,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问。特点:不受同源策略的限制,兼容性更好,易于实现,只支持get。

转载于:https://www.cnblogs.com/yddlvo/p/4697124.html

通过script标签实现跨域相关推荐

  1. Script标签解决跨域

    关于跨域,首先我们来讲一下基础知识. –什么是跨域请求:从一个域下去访问另一个域下的脚本(js/php)或者文档结构(html). –为什么跨域:因为我们往往需要其他域下的数据,另一个因为同源策略的限 ...

  2. AJAX 跨域请求 - JSONP获取JSON数据

    Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...

  3. .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器...

    1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...

  4. 循序渐进Python3(十一) --6--  Ajax 实现跨域请求 jsonp 和 cors

    Ajax操作如何实现跨域请求? Ajax (XMLHttpRequest)请求受到同源策略的限制. Ajax通过XMLHttpRequest能够与远程的服务器进行信息交互,另外XMLHttpReque ...

  5. js中各种跨域问题实战小结

    什么是跨域?为什么要实现跨域呢? 这是因为JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.也就是说只能访问同一个域中的资源.我觉得这就有必要了解下javascript中的同源策略 ...

  6. jsonp跨域ajax跨域get方法

    原理: 就是利用<script >标签没有跨域限制的,从而达到与第三方网站通讯的目的.当需要通讯时,本站脚本创建一个<script>标签,src地址指向第三方网站的的一个网址. ...

  7. 解决403跨域问题之——————JSONP

    为什么80%的码农都做不了架构师?>>>    JSONP 原理其实是利用利用<script>标签没有跨域限制的"漏洞"(历史遗迹啊)来达到与第三方通 ...

  8. JSONP实现Ajax跨域请求

    前言 由于浏览器存在同源策略的机制,所谓同源策略就是阻止从一个源(域名,包括同一个根域名下的不同二级域名)加载的文档或者脚本获取/或者设置另一个源加载的文档属性. 但比较特别的是:由于同源策略是浏览器 ...

  9. AJAX跨域请求数据原理与案例

    1.如何通过AJAX跨域请求数据 AJAX通过jsonp来实现跨域请求数据,通过设置dataType(jquery)为jsonp即可. 2.AJAX如何通过jsonp实现跨域(来源于其他网站资料) J ...

最新文章

  1. tomcat启动出现闪退_(转)Tomcat 启动后 “闪退”
  2. (Mybatis)复杂查询
  3. 拿到BAT等大厂offer以后,我发现了关于秋招的一些真相
  4. StyleAI:印象坐标-感情色彩量化/感情近邻关系
  5. 关于java中 get提交方式的乱码问题。
  6. ahp层次分析法软件
  7. 问题八:C++中this是干嘛用的
  8. ubuntu安装配置ssmtp
  9. DayDayUp:罗振宇—2018.12.31年终秀——《时间的朋友》跨年演讲重点概览【文字+视频】
  10. 西部数据移动硬盘真伪测试软件,我的西数硬盘是真的吗?网购西数移动硬盘辨别真伪的方法...
  11. WSO2 ESB 5.0.0 配置 MySQL 数据源
  12. 12款常用的数据挖掘工具推荐
  13. MSET算法参差分析(一)
  14. 爬虫代理IP产品如何选择
  15. 网易企业邮箱如何设置反垃圾规则?【网易企业邮箱】
  16. WordPress页面教程【2021】
  17. 共享单车被带到乡下私用,警方:或涉嫌盗窃
  18. 兔子问题与斐波那契数列
  19. 红胖子 = 红 + 胖子 = 红(红模仿) + 胖子 --- 2007.6 ~ 至永远
  20. Android 基础入门教程--笔记

热门文章

  1. 机器人也是“艺术家”!上海世界移动大会聚焦5G时代
  2. php正则替换imgsrc_php如何替换img中src内容
  3. mysql 未能启用约束_未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。...
  4. linux基础试卷笔试,顽石系列:Linux基础笔试
  5. 在php中单引号和双引号的区别错误的是___________,浅谈PHP中单引号和双引号到底有啥区别呢?...
  6. 005_Maven POM
  7. java开发后台技术_java开发后台的技术
  8. ora00600内部错误代码oracle,ORA-00600: 内部错误代码, 参数: [13013]
  9. 思科光传输功率查询_各品牌网络设备的光功率查看方法(不完全统计)
  10. Java基础:常见对象