浏览器的同源策略、跨域访问原因、解决原理及解决方式

同源策略与跨域 前言:最近业务上前端同学多次联系说访问腾讯云cos资源的时候因为跨域的问题访问不到。大致看了下腾讯云关于设置跨域访问的教程,按照前端同学给的域名等选项就给配了,而且测试下来也是好的。但是呢一直不知道什么是跨域这里就做一个简单的学习记录。 一、同源策略 同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能。同源策略会阻止一个域的javascrip脚本和另一个域的内容进行交互,是用于隔离潜在恶意文件的关键安全机制;关于这一点我们后面会举例说明。... 阅读详情
浏览器的同源策略

跨域访问的需求是浏览器的同源策略引起的。

两个url地址如果请求的域名、端口 和 请求方法(http, https)都是一样,那这两个url地址同源。

如果发起请求的域与这个请求指向的资源所在的域不同源,就会造成跨域访问失败。

同源策略的功能
同源策略可以避免跨站请求伪造的问题(csrf, cross-site request forgery).
在这里插入图片描述

实现跨域访问原理

可以使用cors(Cross-Origin Resource Sharing,跨资源共享)来实现跨域访问。
cors标准会新增一组HTTP首部字段。比如允许哪些域、哪些请求方式可以访问服务端。

首先浏览器发起一个OPTIONS预检请求,看服务端是否允许跨域访问,服务端允许之后才发起实际的HTTP请求。

跨域访问实现

方法一:设置禁掉浏览器的同源策略

windows下安装Chrome,然后在快捷方式右键属性,在目标一栏最后添加--args --disable-web-security即可。这个参数会禁掉chrome的同源策略。

方法二:使用nginx实现跨域访问

方法三:添加跨域访问的中间件
例如gin框架,有开源的跨域访问中间件,直接使用这个中间件即可。

全网最全的跨域解决方式 在Web应用程序中,由于浏览器的同源策略(Same-Origin Policy),浏览器会限制从一个源(域、协议、端口)发起的HTTP请求,只能访问同一源上的资源。1)设置 CORS 响应头:后端可以在 HTTP 响应头中添加相关的 CORS 标头,允许特定的源(域名、协议、端口)访问资源。3)@CrossOrigin 注解:Spring Boot 项目可以直接在对应的 Controller 或接口方法上添加 @CrossOrigin 注解实现跨域,但这种方式对代码的侵入性较大。 阅读详情

相关推荐

跨域问题、浏览器同源策略及原因

什么是跨域? 首先,我们看到跨域这个名词的时候,应该尝试拆词解字,“跨”不用说了,“域”是什么?这里的域不单单指域名 域 = 协议+域名+端口号,例 https://www.youkuaiyun.com:8080 跨域问题其实就是在一个域里请求其他域时出现的无法请求的问题。相信做过全栈的小伙伴们,一定对此有所了解了。 跨域问题的原因(浏览器同源策略) 到底是什么原因导致的跨域问题呢?为什么我就不能请求其他域的资源呢?凭什么啊?(有点作hhh)相信刚遇到这个问题的人都会这样想对吧。 浏览器同源策略: 同源策略是一个重要

SEU_YL的博客 979

在开发机上绕过Chrome同源策略的办法

当需要用JQuery通过ajax或者get和post方法从本地加载文件或者跨域访问时,会受到Chrome严格的同源访问策略的限制。绕过的方法也很简单:添加Chrome启动参数即可。 如果只需要加载本地文件:参数为: --allow-file-access-from-files 如果要跨域访问,则可以干脆关闭所有安全策略,当然浏览器会提示你稳定性和安全性降低: --disable-web-s

小米的博客 1万+

模拟退火算法详细讲解(含实例python代码)

模拟退火算法详细讲解(含实例python代码)(一)模拟退火算法简介三级目录(二)模拟退火算法原理(1)基本思想(2)算法步骤(3)参数控制(三)实例分析 最近老师要求做模拟退火算法实验,看了很多博客之后感觉还是不太清楚,最后问了老师之后才搞明白。想把自己的理解写下来,帮助大家更好的理解。本篇文章是在另一篇博客的基础上加了一下自己的理解,然后又把我们在实验中的实例写下来,还有参考代码。希望大家看了之后能够加深对模拟退火算法的理解。 另一篇博客链接: 深度学习 — 模拟退火算法详解. (一)模拟退火算法简介

weixin_48241292的博客 17万+

ip地址 端口 同源 同源策略 跨域 JSONP CORS

IP地址 IP地址(Internet Protocol Address) 是指互联网协议地址,又译为网际协议地址 1.格式:xxx.xxx.xxx.xxx 由4组数字组成 2.每一组数字取值范围0-255包含0和255 3.每一组数字中间用点分割 IP地址作用: IP地址被用来给链接到网络中的终端设备进行编号,具有唯一性,多个设备之间通讯都是基于IP地址 通俗理解:IP地址好比电话号码,每个电话都需要有一个号码才能打电话,同样的,一台电脑或网络设备需要一个IP地址才能进行通信 IP地址的分类 1.公有地址(

kjs--的博客 2160

手把手教你用QEMU模拟AST2600-EVB开发板:OpenBMC环境搭建全流程

本文提供了一份详尽的实战指南,手把手教你使用QEMU模拟器搭建AST2600-EVB开发板的OpenBMC环境。内容涵盖从工具链准备、系统镜像获取(官方与自编译),到QEMU启动命令解析、网络配置(用户与桥接模式),以及通过SSH、WebUI和Redfish API访问服务的全流程,帮助开发者在个人电脑上快速构建安全、可复现的嵌入式开发与测试沙盒。

play7的博客 1132

PCIe链路均衡实战:从Preset调节到系数优化的完整指南(附Synopsy IP案例)

本文深入解析PCIe链路均衡技术,从Preset调节到系数优化的全流程实战指南,特别针对PCIe 3.0/4.0中的Recovery.Equalization状态进行详细说明。通过Synopsy IP案例,展示如何应对高速信号完整性挑战,优化前向反馈均衡(FFE)机制,提升系统性能。

peace的博客 1053

脚手架设置跨域代理

解决开发环境中的跨域问题 在README同级目录下创建一个vue.config.js 在vue.config.js使用下面代码 将**.env.development** 内的基地址替换为 /public //vue-cli3.0 里面的 vue.config.js做配置 module.exports = { devServer: { proxy: { '/public': { //这里最好有一个 / target: 'http://127.0

SilentLand的博客 515

校招总结—FPGA从入门到放弃

校招总结—FPGA从入门到放弃 感谢咸鱼FPGA的授权转发,原文地址为https://www.cnblogs.com/xianyufpga/ 其实 offer 早就定下来了,最近忙着入党考试,现在才腾出时间来写个总结。我校招开始于 7 月底,算是比较晚了,后面加了各大校招交流群,发现很多同学都是过完年后就开始打磨项目、复习基础、寻找实习。对比之下我这准备确实仓促,不过结果还算满意。 ...

qq_31515205的博客 8604

Chrome浏览器禁用同源策略

【代码】Chrome浏览器禁用同源策略。

simpleGq的专栏 3399

DisplayPort信号通道深度解析:从物理层到协议栈

DisplayPort(DP)是一种面向高速串行通信的数字显示接口标准,其核心在于嵌入式时钟、自适应均衡与链路训练三位一体的物理层架构。不同于HDMI依赖独立时钟的TMDS方案,DP通过差分主链路(Main Link)承载编码数据流,以8b/10b或128b/132b编码实现高带宽与强鲁棒性。该技术价值体现在多速率自适应、误码恢复能力及对PCB布线与阻抗控制的严苛要求,广泛应用于8K显示、工业视觉、GPU直连等高性能场景。本文聚焦DP信号通道的管脚级实现、三层协议解耦(物理层/数据链路层/事务层)及链路训练

weixin_34214500的博客 252

AI测试:手把手教你用AI创建流程图「喂饭教程」

本文介绍了如何利用next-ai-draw-io开源项目,通过AI快速生成专业流程图,提升测试工作效率。该工具支持自然语言交互,兼容多种AI模型(如OpenAI、Claude等),并集成draw.io图表引擎,实现实时编辑。

blues_C的博客 757

同源策略和跨域解决方法

同源策略和跨域 同源(同源地址) 同源地址指的是两个页面地址的 协议 域名 端口 完全一样,这两个地址就是同源的,或者称为同源地址。 我们发现,在现代网站中(京东)一个公司可能具有很多的域名,也都不是同源地址,如果在公司内部都不能进行数据请求,是很不方便的。 URL网址的基本概念 URL概念:统一资源定位符 (Uniform Resource Locator) 俗称网址,用来标识某个资源在网络中的唯一位置。 组成部分: 示例网址:https://detail.tmall.com/it

jyn15159的博客 615

LVGL hal disp(porting display)

LVGL本身是没有对接最终的显示框架的,所以到具体的某个平台上,需要自行porting。

Bigan(安)的博客 2097

JSONP、同源策略(同源政策)、(跨域解决)

同源策略(同源政策) 概述 浏览器为了安全性考虑 拒绝访问不同源的内容 这个称为同源策略 跨域(CORS) 跨域问题的产生 是由于同源策略的影响 1.请求协议不一致 (http 和 https) 2.ip地址不一致 (127.0.0.1 和 192.168.0.1) 3.端口不一致 (80 和 3306) 4.走的file协议 文件不一样也会跨域 跨域解决 1.后端解决 (设置请求头) Access-Control-Allow-Origin: * 2.前端解决 (通过设置请求 jsonp) jsonp

weixin_43520992的博客 173

具身大小脑全栈全网独家复现|LLM链式推理+边缘VLA感知+毫秒级运动小脑、优化人形步态僵硬运动滞后、打通思考-行走-操作全链路适配居家工业多场景落地

高层决策大脑(异步10Hz,GPU算力):轻量化机器人微调LLM+RhinoVLA边缘视觉大模型,负责自然语言链式工序拆解、全局环境语义感知、目标物体筛选、跨机器人动作适配,输出粗粒度运动目标,不介入底层伺服计算;依托View Registry实现异构机器人动作对齐,适配多形态机器人切换;中层调度小脑(硬实时1kHz,CPU算力)

qq_36130719的博客 253

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

什么是跨域? 出现原因及解决方法

什么是跨域? 出现原因及解决方法

Knight 3万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

什么是跨域?怎么解决跨域问题

同源策略 同源策略案例 什么是跨域 跨域解决方法 1.ajax的jsonp 2.CORS方式 3.nginx 转发

lymt95的博客 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

前端跨域三种解决方式(CORS、JSONP、代理跨域)

什么是跨域? 跨域是浏览器为了安全而作出的限制策略(所以服务端不涉及到跨域); 浏览器请求必须遵循同源策略,即同域名、同端口、同协议; 例如: http://www.abc.com到http://www.def.com的请求会出现跨域(域名不同) http://www.abc.com:3000到http://www.abc.com:3001的请求会出现跨域(端口不同) http://www.abc.com到https://www.abc.com的请求会出现跨域(协议不同) 解决方法: 1. ..

卡卡西:一个擅长拷贝的前端程序员 2万+

关于跨域访问

1. 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。最简单的说就是从当前域名的网站下不能请求非同源的地址所谓同源是指,域名,协议,端口.........

登登的博客 是温馨的小屋。 6426

跨域的几种方式

什么是跨域? 跨域:就是不同域之间进行相互资源请求; 例如:http://www.test.com/index.com  请求  http://www.test01.com/server.php 即进行不同的域名下的资源调用。 注意:域名对应的IP地址也算是跨域操作;例:127.0.0.1和localhost虽然对应,但在地址栏中算两个域。 为什么出现跨域?  浏览器在解析Jav...

LIRUN的博客 8437

什么是跨域、为什么要跨域、怎么解决跨域

什么是跨域、为什么要跨域、怎么解决跨域 ​ ​ 例如:http://192.168.0.1:8080与https://192.168.3.1:8080不是同源,因为协议不同,第一个冒号前面的为协议,中间的为域名,第二个冒号后面的为端口,只要满足有一处不同,则就不是同源。 所谓跨域就是从 A 向 B 发请求,如若他们的地址协议、域名、端口都不相同,直接访问就会造成跨域问题,跨域是非常常见的现象!请求是跨域的但并不一定会报错,普通的图片请求。css文件请求是不会报错的。报错的条件是浏览器的

qq_46034942的博客 1万+

浏览器跨域原因及解决方式

浏览器跨域原因和解决方式

xiao_yu_liu的博客 1139

同源策略、跨域问题

摘要: 跨域问题是浏览器安全机制(同源策略)导致的,限制前端JS访问不同源(协议/域名/端口任一不同)的资源。核心限制包括AJAX请求、Cookie共享等。解决方案包括: CORS(推荐):后端配置Access-Control-Allow-Origin响应头,明确允许跨域来源; 开发代理:前端工具(如Vue/React)通过代理转发请求; JSONP(已淘汰)。 注意:跨域是浏览器行为,后端直接调用接口(如Postman、curl)无此限制。SpringBoot可通过@CrossOrigin或全局配置实现C

你我约定有三的博客 1259

浏览器跨域访问限制

一.什么是跨域 广义的跨域: (1) 资源跳转:A链接、重定向、表单提交 (2) 资源嵌入:<link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 (3) 脚本请求:js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 二.什么是浏览器跨域限制?本质是什么? 所谓浏览器跨域限制,其实是为了数据安

y果子 8052

同源策略&跨域

了解同源策略&跨域 1.什么是同源 同源指的是两个 URL 地址具有相同的协议、主机名、端口号。 例如,下表给出了相对于 http://www.test.com/index.html 页面的 5 个同源检测结果: 2.什么是同源策略 同源策略(英文全称 Same origin policy)是浏览器提供的一个安全功能。 浏览器的同源策略规定:不允许非同源的 URL 之间进行资源的交互。 3.什么是跨域 同源指的是两个 URL 的协议

m0_67841039的博客 3085

Nginx如何解决浏览器跨域问题、Cors跨域资源共享解决跨域问题、浏览器的同源策略原理(Same-Origin Policy)源站Origin

如果有了浏览器同源策略,浏览器就会判断,如果浏览器的源站,即发送请求的网页的域名(或IP地址),与请求服务器的接口的(域名(或ip地址)、端口、协议)不一致时,即为跨域请求,如果预检请求(OPTIONS请求)不通过,浏览器将会阻止该请求;同源策略通过限制跨域请求的访问权限,确保了网页只能访问与其来源相同的资源,防止了恶意网站对用户的攻击。想象一下,如果没有浏览器同源策略,有些网站会伪装成正经网站,然后骗用户在它的网页上输入账号密码,请求服务器接口,登录到正经网站的服务器,然后从服务器盗取用户的数据;

Dontla的博客 3508
上一篇: MySQL: 索引的使用,分类及模型
下一篇: 【MAC】环境变量
AXIMI
博客等级 码龄10年 53粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值