跨域 同源策略通俗讲解

什么是跨域

字面理解,前后端不"同源",这就发生了跨域

怎么区分不同的域

域的组成:协议+域名+端口

同源策略:浏览器的一种安全机制。目的是保证限制前端请求的读取能力,防止恶意网站随意对我们浏览器数据进行读取,造成数据泄露


跨域问题的解决方案:

CORS跨域资源共享

当一个请求发送跨域时,浏览器会给这个请求的请求头加上origin,确定请求来源,相当于自报家门。

后端处理到这个请求时 设置一些字段返回响应

浏览器处理到这个响应时

通过Access-Control-Allow_origin 判断哪些请求源可以访问

通过Access-Control-Allow_Methods 判断哪些请求方法可以访问

通过Access-Control-Allow_Headers 判断哪些请求头可以访问

缺点:

1 需要后端配合

2 非简单请求会导致预检请求,额外发送一次HTTP请求

相关推荐
秋秋小事15 分钟前
可选链与非空操作符
前端
短剑重铸之日29 分钟前
《SpringCloud实用版》 Seata 分布式事务实战:AT / TCC / Saga /XA
后端·spring·spring cloud·seata·分布式事务
iRuriCatt33 分钟前
智慧景区管理系统 | 计算机毕设项目
java·前端·spring boot·vue·毕设
FAFU_kyp1 小时前
RISC0_ZERO项目在macOs上生成链上证明避坑
开发语言·后端·学习·macos·rust
qq_12498707531 小时前
基于springboot的会议室预订系统设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·信息可视化·毕业设计·计算机毕业设计
程序员清洒1 小时前
Flutter for OpenHarmony:Icon 与 IconButton — 图标系统集成
前端·学习·flutter·华为
女王大人万岁1 小时前
Go语言time库核心用法与实战避坑
服务器·开发语言·后端·golang
J_liaty2 小时前
Spring Boot + MinIO 文件上传工具类
java·spring boot·后端·minio
Yolanda942 小时前
【项目经验】钉钉免密登录实现
前端·javascript·钉钉
2601_949613022 小时前
flutter_for_openharmony家庭药箱管理app实战+药品详情实现
java·前端·flutter