SpringBoot配置Cors解决跨域请求问题

文章目录

  • 一、同源策略简介
    • 什么是源
    • 什么是同源
    • 是否是同源的判断
    • 哪些操作不受同源策略限制
    • 跨域
    • 如何跨域
  • 二、CORS 简介
    • 1、简单请求
    • 2、非简单请求
  • 三、Spring Boot 配置 CORS
    • 1、使用@CrossOrigin 注解实现
    • 2、原理剖析

一、同源策略简介

同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。

什么是源

[origin]就是协议、域名和端口号。例如:http://www.baidu.com:80这个URL。

什么是同源

若地址里面的协议、域名和端口号均相同则属于同源。

是否是同源的判断

例如判断下面的URL是否与 http://www.a.com/test/index.html 同源

  • http://www.a.com/dir/page.html 同源
  • http://www.child.a.com/test/index.html 不同源,域名不相同
  • https://www.a.com/test/index.html 不同源,协议不相同
  • http://www.a.com:8080/test/index.html 不同源,端口号不相同

哪些操作不受同源策略限制

  1. 页面中的链接,重定向以及表单提交是不会受到同源策略限制的;
  2. 跨域资源的引入是可以的。但是JS不能读写加载的内容。如嵌入到页面中的