1. 跨域
1.1 跨域问题来源
跨域问题的来源是浏览器为了请求安全而引入的基于同源策略(Same-origin policy)的安全特性。
同源策略是浏览器一个非常重要的安全策略,基于这个策略可以限制非同源的内容与当前页面进行交互,从而减少页面被攻击的可能性。
当页面和请求的协议、域名或端口不同时,浏览器判定两者不同源,从而产生跨域。需要注意的是跨域是浏览器的限制,实际请求已经正常发出和响应了。
1.2 预检请求
CORS 跨域请求,又分成简单请求 simple request, 和复杂请求 not-so-simple request
- 只有跨域的情况下,才会发生预请求
- 与前述简单请求不同,「需预检的请求」要求必须首先使用 OPTIONS 方法发起一个预检请求到服务器,以获知服务器是否允许该实际请求。「预检请求」的使用,可以避免跨域请求对服务器的用户数据产生未预期的影响。
OPTIONS 请求方法的主要用途有两个
- 获