浅析同源策略及跨域问题

浅析同源策略及跨域问题

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,
则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。
简单来说同源策略指:协议、域名、端口号均相同则同源。

同源策略,它是由Netscape提出的一个著名的安全策略。
所有支持JavaScript 的浏览器都会使用这个策略。
所谓同源是指,域名,协议,端口相同。
当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面
当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,
即检查是否同源,只有和百度同源的脚本才会被执行。 [1] 
如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。
同源策略是浏览器的行为,是为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收。

为什么会有跨域问题?
因为存在浏览器同源策略,所以才会有跨域问题。那么浏览器是出于何种原因会有跨域的限制呢。
其实不难想到,跨域限制主要的目的就是为了用户的上网安全。

跨域问题指:协议、域名、端口号一方不同,即为跨域。跨域针对于js和ajax,html并无跨域问题。

 

结合springmvc+js项目对mrm项目【springmvc+vue】进行比较,对使用node服务器解决跨域问题进行思考,即反向代理

浅析同源策略及跨域问题