同源策略(Same origin policy)
同源策略是一种约定,他是浏览器最核心也是最基本的安全功能,同源是指域名、协议、端口需要保持一致才能进行相互间的访问。
浏览器采用同源策略,禁止页面加载或执行来源不同域的任何脚本。换句话说浏览器禁止的是来自不同源的“document”或脚本,对当前读取的“document”读取或设置某些属性。
不受同源限制的标签:
<script>、<img>、<ifrom>、<link>
这些包含src属性的标签可以加载跨域资源。但浏览器限制了JavaScript的权限使其不能读、写加载的内容。
跨域请求
当发起请求域(协议+域名+端口)和请求指向资源所在域不同时,则称之为跨域请求
跨域请求处理:
虽然在安全层面上同源限制是必要的,但有时同源策略会对我们的和利用同造成影响,为了避免开发的应用受到限制,可以通过多种方式绕开同源策略。
- 通过JSONP实现跨域请求处理过程
- 通过CORS实现跨域请求处理过程
- 通过nginx代理实现跨域请求处理过程