SpringMVC -----SpringMVC 解决请求跨域问题
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🍎合抱之木,生于毫末;百丈之台,起于垒土;千里之行,始于足下。------《老子》
🍊今日学习任务!!!!!
🍊1、同源策略是什么?
🍊2、理解什么是跨域请求?
🔥一、什么是同源策略
同源策略是浏览器的一个安全功能,所谓的同源,指的是协议,域名,端口相同。浏览器处于安全方面的考虑,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源哪些不受同源策略限制:
📍 1. 页面中的链接,重定向以及表单提交是不会受到同源策略限制的。📍 2. 跨域资源的引入是可以的。如嵌入到页面中的
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🔥二、什么是跨域请求
在 JavaScript 的请求中当一个请求 URL 的协议、域名、端口三者之间任意一个与当前页
面 URL 不同时即为跨域。浏览器执行 JavaScript 脚本时,会检查当前请求是否同源,如果不
是同源中的资源,就不会被执行。
当前url | 被请求页面url | 是否跨域 | 原因 |
---|---|---|---|
http://www.baidu.com/ | http://www.baidu.com/index.html | 否 | 同源(协议、域名、端口号相同) |
http://www.baidu.com/ | https://www.baidu.com/index.html | 跨域 | 协议不同(http/https) |
http://www.baidu.com/ | http://www.jd.com/ | 跨域 | 主域名不同(jd/baidu) |
http://www.bjsxt.com/ | http://itbz/bjsxt.com/ | 跨域 | 子域名不同(www和itbz不同) |
http://www.baidu.com:8080/ | http://www.baidu.com:7070/ | 跨域 | 端口号不同(8080/7070) |
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🔥三、通过@CrossOrigin 解决跨域
@CrossOrigin
注解用于处理跨域请求访问。是 SpringMVC4.2 版本中推出的注解。
origins
: 允许可访问的域列表
maxAge
:准备响应前的缓存持续的最大时间(以秒为单位)。
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨