跨域/跨源请求

目录

什么是跨域请求

跨域请求指:当前发起请求的域与该请求指向的资源所在的域不同时的请求。这里的域指的概念: “协议 + 域名 + 端口号” 均相同,那么就是同域。

  1. 现跨域请求常出现在前后端分离项目当中。

浏览器的同源策略

同源策略(Same origin policy)是一种约定,它是浏览器最核心也是最基本的安全功能。出于安全考虑,浏览器限制从JS脚本发起的跨源HTTP请求

因为同源策略的限制,不同协议(http、https)、域名或者端口无法直接进行JS ajax请求。 同源策略只针对于浏览器端,浏览器一旦检测到请求的结果的域名不一致后,会堵塞请求结果。这里注意,跨域请求是可以发去的,但是请求响应response被浏览器堵塞了。

解决方案

添加一个config配置类

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {

        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("GET","POST","PUT","OPTIONS","DELETE","PATCH")
                .allowedHeaders("*")
                .allowCredentials(true)
                .maxAge(3600);
    }

参考:
[1]: https://blog.csdn.net/ppxin/article/details/94717173

猜你喜欢

转载自blog.csdn.net/after_17/article/details/113872217