1、概念:出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。而当三者有一个不一样时,两个资源就不在一个域中。

2、怎么解决跨域?

a、通过CORS跨域资源分享(Cross-Origin Resource Sharing)的缩写,设置CORS需要浏览器和服务器两个方面支持,属于跨源 AJAX 请求的根本解决方法

1)、普通跨域请求:只需服务器端设置Access-Control-Allow-Origin就可开启CORS

2)、带cookie跨域请求:前后端都需要进行设置

b、通过配置代理服务器

实现原理:同源策略是浏览器需要遵循的标准,而如果是请求都发给代理服务器,代理服务器再向后端服务器请求就可以规避跨域的问题。

c、通过使用jsonp : 不要发出XHR请求,这样就算是跨域,浏览器也不会报错,解决方案是JSONP,通过动态创建一个script,通过script发出请求。( jsonp(JSON with Padding) 是 json 的一种"使用模式")

d、通过WebSocket

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送,这样就能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

ps:学习过程的简单记录,如有不恰当之处,欢迎指正!

//2020/4/25更新完善

什么是跨域?怎么实现跨域请求?相关推荐

  1. form表单会跨域_前端跨域So Easy

    跨域 本文主要介绍JSONP.CORS两种跨域方式,后台采用Koa模拟,真正的目标是理解整个跨域的流程.至于什么是跨域和浏览器同源策略的问题,请同学们自行百度. JSONP JSONP 其实是一种tr ...

  2. php session 域,PHP session 跨子域问题总结

    今天,做项目时候遇到个问题.之前做东西的时候session一般就直接存在数据库中这样就能解决跨域 不仅仅是跨子域,但是今天遇到这个问题是,自己要在别人现有的东西上面做修改.由于仅仅是子域 当时就行肯定 ...

  3. SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析

    最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jQuery ajax跨 ...

  4. php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...

    SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1. 跨域redirect实例: te ...

  5. JQuery 的跨域方法 可跨任意网站

    JS的跨域问题,很多人在网上找其解决方法,教其用IFRAME去解决的文章很多,真有那么复杂吗?其实很简单的,如果你用JQUERY,一个GETJSON方法就搞定了,而且是一行代码搞定. 下面开始贴出方法 ...

  6. 【转】JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  7. JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  8. 跨域问题_跨域问题如何解决?

    " 今天的内容比较大众,相信广大程序猿都有遇到过,那么咱们就不多BB了,直接往下看." 首先聊聊为什么会出现跨域问题?跨域是什么? 域(Domain)是Windows网络中独立运行 ...

  9. 什么是跨域?以及跨域的解决方案!

    什么是跨域 跨域,是指浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制. 同源策略限制了一下行为: Cookie.LocalStorage 和 ...

  10. 跨交换机打通二层广播域不通问题解决过程

    同事反馈,要打通跨交换机打通二层广播域,发现不通,让解决. 拓扑如下: 如图组网,每个交换机管理ip是1920.168.100.编号,级联下级交换机编号比上级大20,每个交换机的和从交换机的vlan就 ...

最新文章

  1. 苏宁易购Android架构演进史
  2. django设置paypal支付如何获取signature
  3. shared_ptrT make_shared( Args ... args );
  4. 如何从过滤器中排除URL
  5. 前端学习(771):小结
  6. 使用Go语言创建WebSocket服务
  7. Java占Linux超过xms,linux下分析java程序占用CPU、内存过高
  8. GeoWebCache之单独部署arcgis瓦片
  9. ionic中的slide-box
  10. 一个程序员的多年珍藏--收藏
  11. 第三篇 IT 技术支持工程师职业发展路径与技能要求
  12. 前后端异地、接口如何联调呢
  13. java选中多张图片上传
  14. 2-4、React+antd页面UI美化——登录界面设计
  15. 2022漏洞趋势报告及解决方案-新冠让程序员写bug变多了?
  16. 关于使用MethodHandle在子类中调用祖父类重写方法的探究
  17. ASA防火墙之telnet的AAA穿越认证配置实例
  18. c深刨5——switch case break相关
  19. 重新启动计算机前控制台无法刷新,重新安装.NET framework 3.5以准备Websense安装
  20. opc da client c#的opcda 数据读取

热门文章

  1. Python Turtle 小项目 6
  2. WordPress博客系统搜索引擎优化seo全攻略方法
  3. Python 向人工智能方向发展的技能树
  4. 哪些操作导致了上下文切换
  5. 细胞膜包覆的介孔铜/锰硅酸盐纳米球(mCMSNs)|黑磷量子点纳米囊泡(BPQD-CCNVs)
  6. 乡村少年宫计算机小组活动教案,小学少年宫兴趣小组烹饪教案
  7. air英语怎么读_考研英语词汇记忆:air-conditioning怎么翻译及发音
  8. 基于Nodejs服务器下,python搭配ffmpeg实现推流直播
  9. android 地铁地图api,利用高德地图api绘制公交+地铁的等时圈
  10. 全栈合一:万物互联下的智能安全运维