spring Boot实现跨域请求

本文介绍了跨域访问的概念,同源策略及其在前后端分离开发中的影响。提出了两种解决跨域问题的方案:前端代理和后端设置。重点讲述了在Spring Boot中如何配置后端允许跨域,并提醒了在设置允许源时的注意事项,如添加AllowedOrigin与设置AllowCredentials不能同时使用。此外,还提及了WebSocket协议下保持会话的情况。
摘要由CSDN通过智能技术生成

什么是跨域访问

说到跨域访问,必须先解释一个名词:同源策略。所谓同源策略就是在浏览器端出于安全考量,向服务端发起请求必须满足:协议相同、Host(ip)相同、端口相同的条件,否则访问将被禁止,该访问也就被称为跨域访问。虽然跨域访问被禁止之后,可以在一定程度上提高了应用的安全性,但也为开发带来了一定的麻烦。比如:我们开发一个前后端分离的易用,页面及js部署在一个主机的nginx服务中,后端接口部署在一个tomcat应用容器中,当前端向后端发起请求的时候一定是不符合同源策略的,也就无法访问。

跨域实现方案

跨域本质上是浏览器为了安全考虑,做的一些限制,那么解决办法有两种:

  1. 前端通过代理方式:浏览器依然请求同源的api,通过nginx或者node代理转发,将请求跨域发送到真正的后端服务器,从而间接实现请求
  2. 后端服务器直接告诉前端浏览器,XX地址允许跨域请求,我这里是ok的,你就不要干涉了,具体就是通过修改head头信息:
Access-Control-Allow-Origin: 允许哪些ip或域名可以跨域访问 
Access-Control-Max-Age: 表示在多少秒之内不需要重复校验该请求的跨域访问权限 
Access-Control-Allow-Methods: 表示允许跨域请求的HTTP方法,如:GET,POST,PUT,DELETE 
Access-Control-Allow-Headers: 表示访问请求中允许携带哪些
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值