转载自 到底什么是跨域?附解决方案

什么是跨域

要了解跨域,先要说说同源策略。

同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略。

所谓同源是指,域名,协议,端口相同。当页面在执行一个脚本时会检查访问的资源是否同源,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。

同源策略一般又分为以下两种:

  • DOM同源策略:禁止对不同源页面DOM进行操作。这里主要场景是iframe跨域的情况,不同域名的iframe是限制互相访问的。

  • XmlHttpRequest同源策略:禁止使用XHR对象向不同源的服务器地址发起HTTP请求。


那么,到底什么是跨域?

跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的同源策略造成的,是浏览器施加的安全限制。

跨域的严格一点来说就是只要协议,域名,端口有任何一个的不同,就被当作是跨域。


为什么要跨域?

现实工作开发中经常会有跨域的情况,因为公司会有很多项目,也会有很多子域名,各个项目或者网站之间需要相互调用对方的资源,避免不了跨域请求。


跨域解决方案

  • 通过jsonp跨域

  • document.domain + iframe跨域

  • location.hash + iframe

  • window.name + iframe跨域

  • postMessage跨域

  • 跨域资源共享(CORS)

  • nginx代理跨域

  • nodejs中间件代理跨域

  • WebSocket协议跨域

到底什么是跨域?附解决方案相关推荐

  1. 到底什么是跨域?附解决方案!

    什么是跨域 要了解跨域,先要说说同源策略. 同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略. 所谓同源是指,域名,协议,端口相同 ...

  2. 干掉Session?这个跨域认证解决方案真的优雅

    用户登录认证是 Web 应用中非常常见的一个业务,一般的流程是这样的: 客户端向服务器端发送用户名和密码 服务器端验证通过后,在当前会话(session)中保存相关数据,比如说登录时间.登录 IP 等 ...

  3. 详解SpringBoot应用跨域访问解决方案

    详解SpringBoot应用跨域访问解决方案 参考文章: (1)详解SpringBoot应用跨域访问解决方案 (2)https://www.cnblogs.com/zimug/p/11832737.h ...

  4. PHP下ajax跨域的解决方案之CORS

    PHP下ajax跨域的解决方案之CORS 参考文章: (1)PHP下ajax跨域的解决方案之CORS (2)https://www.cnblogs.com/jkko123/p/6294625.html ...

  5. C#进阶系列——WebApi 跨域问题解决方案:CORS

    C#进阶系列--WebApi 跨域问题解决方案:CORS 参考文章: (1)C#进阶系列--WebApi 跨域问题解决方案:CORS (2)https://www.cnblogs.com/landea ...

  6. JSON Web Token(缩写 JWT) 目前最流行、最常见的跨域认证解决方案,前端后端都需要会使用的东西

    JSON Web Token(缩写 JWT)是目前最流行,也是最常见的跨域认证解决方案.无论是咱们后端小伙伴,还是前端小伙伴对都是需要了解. 本文介绍它的原理.使用场景.用法. 关于封面:这个冬天你过 ...

  7. 跨域学习笔记2--WebApi 跨域问题解决方案:CORS

    自己并不懂,在此先记录下来,留待以后学习... 正文 前言:上篇总结了下WebApi的接口测试工具的使用,这篇接着来看看WebAPI的另一个常见问题:跨域问题.本篇主要从实例的角度分享下CORS解决跨 ...

  8. 浏览器跨域访问解决方案

    浏览器跨域访问解决方案 2015年11月4日 18972次浏览 跨域的概念 跨域大家都知道,不同地址,不同端口,不同级别,不同协议都会构成跨域.例如:about.haorooms.com和www.ha ...

  9. JSON Web Token(缩写 JWT) 目前最流行的跨域认证解决方案

    JSON Web Token(缩写 JWT) 目前最流行的跨域认证解决方案 参考文章: (1)JSON Web Token(缩写 JWT) 目前最流行的跨域认证解决方案 (2)https://www. ...

最新文章

  1. [业界资讯]腾讯QQ同时在线用户数突破8000万
  2. Android性能优化之启动优化实战篇,最新整理
  3. docker-compose bug
  4. 源 arm_arm和X86处理器性能简单测试
  5. 一名普通程序员的自我诊断书
  6. camunda流程引擎如此简单「四」
  7. Qt + Python + OpenCV图标替换工具 之 项目介绍(一)
  8. ASP.NET AJAX Advance Tips Tricks (11) 三种方法动态创建Tooltip
  9. 云数据的安全性不容忽视
  10. 基于嵌入式linux的设计与实现,基于嵌入式Linux图片浏览器的设计与实现
  11. 基于Unity开发的鼠标打飞碟游戏设计
  12. 一文了解caffe框架
  13. 计算机一级考试网络题的图标,全国计算机等级考试一级模拟试题四
  14. 我的gitbub的学习目录
  15. bilibili老版本_bilibili网页版下载
  16. 第五次作业:项目分类
  17. 如何把小米手机便签内容云同步到iPhone XS上?
  18. 定制Directives
  19. 短视频社交应用系统开发-节省人力、物力成本,快速拥用短视频社交主流功能
  20. 大学生必学练习题 - Java 语言经典50例

热门文章

  1. 模块化妙用!用vue3实现一个鼠标追踪器和异步加载组件
  2. linux开发亿连手机互联,亿连手机互联车载版下载-亿连手机互联车机版v6.6.1 安卓版-腾牛安卓网...
  3. [Java基础]字节流读数据
  4. 算法-排序-插入排序
  5. 2018 蓝桥杯省赛 B 组模拟赛(一) 封印之门+最短路径之Floyd
  6. kodi pvr 不能安装_「家庭影音串流」电视最强播放器KODI使用方法
  7. 大学生开题报告php,php毕业设计开题报告
  8. Identifiers in Java(Java标识符)
  9. Absolute Math (HDU 6868)
  10. SP5971 LCMSUM - LCM Sum