生活百科
热搜:  生活  百科  结婚  头发
  • 首页
  • 学习
  • 饮食
  • 健康
  • 人际关系
  • 宠物
  • 旅行
  • 工作
  • 知识
  • 生活
  • 电子产品
  • 运动
  • 个人形象

当前位置

: 主页 > 生活 >

什么是跨域

  • 贵州三大国际机场
  • 贵阳五星级酒店有哪些
  • 王昭君故里在哪里
  • 故宫作为明清两代的皇宫
时间:2022-01-11 11:08 阅读: 次

什么是跨域?

  跨域意味着浏览器无法执行其他网站的脚本。它是由浏览器的同源策略引起的,是由浏览器强加的安全限制。

  所谓同源,就是域名、协议、端口都一样。如果你不懂,那也没关系。举个栗子:

  调用(非跨域)

  呼叫(不同主域名:123/456,跨域)

  已调用(不同的子域:abc/def,跨域)

  呼叫(不同端口:8080/8081,跨域)

  已调用(不同协议:http/https,跨域)

  请注意:虽然localhost和127.0.0.1都指向这台机器,但它们也属于跨域。

  当浏览器执行一个javascript脚本时,它会检查该脚本属于哪个页面。如果不是同源页面,就不执行。

  解决方法:

  1、JSONP:

  关于如何使用我就不赘述了,但是注意JSONP只支持GET请求,不支持POST请求。

  2.代理:

  例如,如果您需要调用,您可以编写一个接口在后端调用并获取返回值,然后将其返回给index.html。这是一种代理模式。相当于绕过浏览器,自然没有跨域问题。

  3.PHP端修改表头(XHR2模式)

  在php界面脚本中添加以下两句话:

  标题(‘访问控制-允许-原始: * ‘);//允许从所有来源访问

  标题(‘访问控制-允许-方法:发布,获取’);//允许访问

  由于浏览器同源策略的限制。同源策略是一种约定,是浏览器的核心和基本安全功能。如果没有相应的策略,浏览器的正常功能可能会受到影响。可以说Web是建立在同源策略的基础上的,浏览器只是同源策略的一种实现。同源策略防止一个域中的javascript脚本与另一个域中的内容进行交互。所谓同源性(即同域)是指两页有相同的协议、主机和端口号

  当请求url的协议、域名和端口中的任何一个不同于当前页面url时,它就是跨域的

  请求的页面url是否跨域(协议、域名、端口号相同)不同跨域协议(http/https)不同跨域主域名(test/百度)不同跨域子域(不同跨域端口号(8080/7001)

  [1]无法读取非同源网页的Cookie、LocalStorage和IndexedDB

  [2]无法联系非同源网页的DOM

  [3] AJAX请求不能发送到不同的源地址

  [1]设置document.domain,解决不能读取非同源网页的Cookie问题

  因为浏览器通过document.domain属性检查两个页面是否同源,只要设置了同一个document.domain,两个页面就可以共享Cookie(此方案仅限于同一个主域不同子域的跨域应用场景。)

  [2]跨文档通信API:window.postMessage()

  调用postMessage方法,实现父窗口向子窗口发送消息(子窗口也可以通过这个方法向父窗口发送消息)

  它可以用来解决以下问题:

  页面和新窗口之间的数据传输它在上述三种情况下打开页面和嵌套iframe消息之间的跨域数据传输

  呼叫消息事件,收听对方发送的消息

  【3】JSONP

  JSONP是一种常见的服务器和客户端之间的跨源通信方法。最大的特点是应用简单,兼容性好(兼容较低版本IE)。缺点是只支持get请求,不支持post请求。

  核心思想:网页通过添加一个向服务器请求JSON数据。收到请求后,服务器将数据发送回具有指定名称的回调函数的参数位置。

  (1)本地实现:

   jQuery ajax:

   Vue.js

  【4】CORS

  CORS是跨来源资源共享的缩写。它是W3C标准,属于跨来源AJAX请求的基本解决方案。

  1.普通跨域请求:只有服务器端需要设置访问控制允许源

  2.带cookie的跨域请求:需要设置前端和后端

  【前端设置】根据xhr.withCredentials字段,判断是否有cookie。

  原生ajax

   jQuery ajax

  虚拟资源

   axios

  [服务器设置]

  对CORS的服务器端支持主要通过设置访问控制允许源来实现。如果浏览器检测到相应的设置,可以允许Ajax跨域访问。

   Java背景

   Nodejs后台

   PHP背景

   Apache需要使用mod_headers模块激活HTTP头的设置,默认激活。您只需将以下内容添加到Apache配置文件、或的配置中

  文章每周持续更新。可以第一次在微信上看“前端集锦”,回复[视频][书籍]领取200G视频资料和30本PDF书籍

本文转自:www.bimeiz.com/shenghuo/15997.html
上一篇:学历低学什么好   下一篇:夏天可以干什么

猜你喜欢

  • 为什么准备应急物资为什么准备应急物资
  • 大体老师能解剖几次大体老师能解剖几次
  • 学生票可以买区间内的一段吗学生票可以买区间内的一段吗
  • 西餐桌的款式与布置-西餐桌的价格西餐桌的款式与布置-西餐桌的价格
  • 年终总结怎么写
  • 香肠晾晒2天可以放冰箱吗
  • 个人申诉书怎么写
  • 孕妇感冒了怎么治疗,蒲地蓝消炎片孕妇
  • 北京冬奥会有多少个国家参加
  • 冬季健康小常识
  • 槲皮素到底致癌还是抗癌?槲皮素为什
  • 猫的血型
  • 玻化砖的选购知识-玻化砖的保养与清洁
  • 欧派油烟机为什么会自动关机,欧派抽油
  • 双人床一般多宽?双人床买什么材质的
  • 2022三伏天要禁欲吗?三伏天有哪些是要
  • 樱花油烟机显示E7什么问题,樱花燃气热
  • 羽绒服能烘干机烘干吗
  • 枕头芯有霉点用什么可以洗掉
  • 危险化学品仓库分为三种类型
  • 九阳五谷豆浆机食谱,九阳五谷豆浆配方
  • 男孩苡字取名寓意是什么
  • 美白牙贴可以剪成两半吗?美白牙贴剪
  • 新买的棉被可以直接盖吗
  • 不知道密码时怎样进入电脑
  • 怎样盘头发好看,中发怎么盘头发简单好
  • 增长良好的省app是什么意思
  • 丝瓜冷藏发黑还能吃吗?为什么丝瓜会
  • 秋天有什么花开放
  • 户外音响什么牌子好
  • 中国第一次滑雪比赛是在哪个省举办的
  • 德宏是傣语的音译意思是什么
  • 皮衣怎么洗
  • 如何改善睡眠质量,如何改善睡眠质量差
  • etc车道是什么意思,分向行驶车道和交叉
  • 做皮的是什么
  • 丝瓜络是什么,丝瓜下奶么
  • 咸鸡蛋做法,腌制咸鸡蛋的最佳方法
  • pvc材质对人体有害吗
  • 孕妇可以喝陈皮水吗,孕妇能喝陈皮水吗
  • 药妆哪个品牌好
  • ,老鼠撞什么属鸡撞什么属?
  • 王昭君故里在哪里
  • 男士美容护肤,男士油皮护肤品推荐
  • 什么是西柚
  • 武汉85度C闭店了吗?85度c蛋糕店为什么
  • 有脚气怎么办
  • 文化重要性
  • 三步套被罩的简单方法
  • 印刷纸张种类
  • 人类活动的两个基本原则
  • 黎曼假说,黎曼假设反证
  • 天然老盐有什么功效
  • 长霉点的衣服怎么洗
  • 相关分类

  • 结婚 带孩子 维持家庭 维持父母关系 生活常识 汽车 维修家电
  • 大家都想知道

    • 失眠最好的治疗方法
    • 1分钟立马睡着的方法
    • 治早迣简单快速的方法
    • 家中最简单炸油条方法
    • 治疗口臭的简单方法
    • 痔疮的最佳治疗方法
    • 电饭锅做蛋糕的方法
    • 硬不起来调理方法
    • 扁桃体发炎怎么办最简单的方法
    • 打嗝不止怎么办?教你止嗝小方法
    • 咸鸭蛋的腌制方法大全

    生活相关内容

    • 放鹤亭是为了纪念谁而建的
    • 2006年冥王星被定义为什么
    • 离异家庭是什么意思
    • 金华南站和金华站是一个站吗
    • 中国化工集团是国企还是央企
    • 中石油是国企还是央企
    • 人生态度属于人生观的范畴,是指
    • 40公里开车要多少分钟
    • 乔拜登是美国第几任总统
    • 我国首座媒体艺术之都是哪个城市
    • 56个星座还是56个民族
    • 10655开头是公安发的吗

    www.bimeiz.com| 网站地图

    | 商务合作:QQ:####### | 备案:苏ICP备14049831号-4 www.bimeiz.com版权所有 盗版必究