解决跨域的三种方案

  • 前置知识:跨域是由于浏览器的同源策略导致的资源无法访问,跨域即为 协议 IP 端口,三者有一个不同即为跨域。

三种解决方案

1、JSONP

前端直接使用script标签的src属性访问后端接口就不会产生跨域问题

2、添加响应头

服务端在响应头添加 Access-Control-Allow-Origin:*,表示服务端允许所有程序跨域访问服务,也可以把 * 改成允许的地址

3、通过nginx代理跨域

由于服务端之间没有跨域,浏览器通过nginx去访问跨域地址。

因为跨域问题指的是浏览器和服务端的问题,服务端和服务端之间不存在跨域问题,可以让前端访问同源的nginx,然后nginx访问服务端,nginx再将结果返回给浏览器,这样也不会发生跨域问题了。

相关推荐
leikooo1 分钟前
ShardingSphere 下更新分片键导致的失败问题分析与解决
java·spring·apache
a程序小傲3 分钟前
中国邮政Java面试被问:Netty的FastThreadLocal优化原理
java·服务器·开发语言·面试·职场和发展·github·哈希算法
jay神8 分钟前
基于Java的水果网上订购平台
java·mysql·vue·springboot·计算机毕业设计
淦。。。。8 分钟前
题解:P14013 [POCamp 2023] 送钱 / The Generous Traveler
开发语言·c++·经验分享·学习·其他·娱乐·新浪微博
小北方城市网10 分钟前
SpringBoot 集成 MyBatis-Plus 实战(高效 CRUD 与复杂查询):简化数据库操作
java·数据库·人工智能·spring boot·后端·安全·mybatis
小白不会Coding12 分钟前
一文详解JVM中类的生命周期
java·jvm·类的生命周期
橙露12 分钟前
C#在视觉检测中的优势:工业智能化转型的利器
开发语言·c#·视觉检测
醇氧13 分钟前
java.lang.NumberFormatException: For input string: ““
java·开发语言·spring
利刃大大17 分钟前
【ES6】变量与常量 && 模板字符串 && 对象 && 解构赋值 && 箭头函数 && 数组 && 扩展运算符 && Promise/Await/Async
开发语言·前端·javascript·es6
sww_102618 分钟前
智能问数系统(一):高质量的Text-to-SQL
java·人工智能·ai编程