浏览器跨域: jsonp,cors跨域,postMessage,nginx代理扩展: cookie,单点登录

浏览器同源策略: 协议(protocol)、主机名(host)、端口(port)

跨域访问不受限制:

浏览器跨域: jsonp,cors跨域,postMessage,nginx代理扩展: cookie,单点登录_第1张图片

 跨域解决方式:

一、jsonp

通常为了减轻web服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源,而被浏览器允许,基于此原理,我们可以通过动态创建script,再请求一个带参网址实现跨域通信。

通过script标签,src网址请求+回调函数

缺点:只能get请求,容易受到xss攻击

二、cors跨域方案

cross-origin resource sharing 跨域资源共享

针对不同条件下的跨域请求,可将请求分为简单请求和非简单请求;

简单请求(满足以下三个条件)

  • 请求方式为GET,POST,HEAD方法
  • Content-Type为application/x-www-form-urlencodeed,text/plain,multipart/form-data中的一种
  • 没有使用自定义的请求头

你可能感兴趣的:(前端,java,前端,javascript)