首页 > 其他分享 >什么是跨域问题及处理方案?

什么是跨域问题及处理方案?

时间:2023-11-25 15:23:25浏览次数:30  
标签:方案 浏览器 跨域 处理 端口 html http 请求

什么是跨域问题?

举个例子:你请求地址 http:1.2.3.4:8080/index.html,浏览器成功获取,然后你在index.html页面点击某个按钮发送ajax请求 http:5.6.7.8:8080/getUserInfo,请求能成功发送,服务器也成功响应,但是浏览器不认账,浏览器会认为你的响应数据不安全,于是报错终止后面代码的运行,这就是跨域问题的例子之一

简单说,当前地址栏的地址 与 当前页面里的请求地址,出现 协议或IP或端口 任一不同时,就会出现跨域问题。

跨域问题解决方案

方案一(不推荐)

跨域问题根本是协议或IP或端口 任一不同时才发生,那么只要规定页面所有请求都是同一协议地址端口,就可避免

但不推荐这么做,因为实际开发可能不单单只有一个项目,有多个项目,有前端项目,后端多个微服务项目,IP和端口不同是一定会发生的

注:在一种情况下可以采用此方案,就是nginx统一负载均衡,暴露同一个协议IP端口

方案二(推荐)

在后端做一个拦截器做统一跨域处理。这个具体我不说代码,只说原理,还是按上面的例子:
你请求地址 http:1.2.3.4:8080/index.html,浏览器成功获取,然后你在index.html页面点击某个按钮发送ajax请求 http:5.6.7.8:8080/getUserInfo,先让浏览器发送个option请求(也趁预请求),后端拦截器响应【此跨域是安全的】的头信息并具有时效性,于是浏览器在时效内再正式发送业务请求拿到响应数据就会认为是安全的了

这种方案目前用的最多,但是本人认为此处理有点忽悠。
缘由是浏览器任务此地址服务器响应的数据不安全,浏览器便发问【你是不是好人啊】,服务器给响应个【我是好人】,浏览器就这样信了,实在有点草率

标签:方案,浏览器,跨域,处理,端口,html,http,请求
From: https://www.cnblogs.com/ibcdwx/p/17855559.html

相关文章

  • 某县农村商业银行的IT设备监控管理解决方案
    一、背景介绍  某县农村商业银行股份有限公司是一家服务于当地农村地区的金融机构,为了提供更高效、更稳定的IT服务,该银行采用了监控易产品,对上百个IT设备进行实时监控和管理。在这个背景下,我们需要详细介绍该银行所面临的问题、解决方案的实施过程以及最终取得的成果。二、问题......
  • 接口优化方案总结
    一级来源:https://toutiao.io/posts/0kwkbbt二级来源:https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjUwMg==&mid=2247500397&idx=1&sn=1dfe1dfdd8374d326cd36db8366663dd大家好,最近看到京东云的一位大佬分享的接口优化方案,感觉挺不错的,拿来即用,本人也是直接收藏。建议收藏一波或者......
  • django学习笔记05 跨域
    跨域指的是:浏览器不能执行其他网站的脚本,从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。跨域是由浏览器的同源策略造成的,是浏览器施加的安全限制。a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的。在DJ......
  • 前端学习笔记202307学习笔记第六十七天-前端面试-对象解构赋值数组特殊处理1
      ......
  • ORACLE: BULK COLLECT批量处理
    ORACLE批量更新大数据量操作bulkcollect与forall参考:https://blog.csdn.net/ITdevil/article/details/94582857%ROWTYPE类型声明:--规则:变量名表名%ROWTYPE(表示声明的变量类型与表OE_ORDER_HEADERS_ALL中的一条记录类型相同)v_order_header_recont.oe_order_headers_a......
  • Jmeter接口测试 —— jmeter对图片验证码的处理
    ​jmeter对图片验证码的处理在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用;通过jmeter对图片验证码的识别方法1、通过ocrserver工具识别图片验证码;如下......
  • SQL server配置邮件服务已报错处理
    报错处理:SQLerror'Mailnotqueued.DatabaseMailisstopped.UseSysmail_start_sptostartDatabaseMail'邮件未排队。数据库邮件已停止。使用sysmail_start_sp来启动数据库邮件。1)确认数据库邮件是否启动。执行下面sql,若显示“1”,表示已启动。sp_configure'showadvanced......
  • 私域流量解决方案分享
    ......
  • 太阳能火焰灯玉米灯ic方案 RGB方案
    太阳光是人类生存不可或缺的能源之一,而太阳能则是一种清洁、可再生的能源。随着人们对环保和能源利用的不断探索,太阳能的应用也越来越广泛。太阳能火焰灯玉米灯是一种集成了太阳能电池板、LED灯珠和IC控制器的户外照明设备,具有安全、环保、实用、美观等特点,被广泛应用于公园、广场......
  • 使用PhpStudy配置Nginx解决跨域问题
    系统:Windows如果你是用phpstudy来进行lnmp的集成环境,你想解决跨域问题是很简单的:处理步骤:第一步:找到你前端要请求的后端接口的url的域名:比如:http://localhost2/index.php/index/test/helloworld那么域名就是localhost2第二步:找到域名对应的nginx配置文件位置打开phpstudy......