什么是跨域 ? 为什么要跨域 ? 如何解决跨域 ?

222 阅读1分钟

什么是跨域 ? 跨域就是从一个域名去请求另一个域名的资源.即跨域请求! 跨域时,浏览器不能执行其他域名网站的脚本,这是由浏览器的同源策略造成的,是浏览器施加的安全限制. 同源策略:是指协议,域名,端口都相同,在访问其他网站时,只要有任意一个不同,请求数据时 都会被浏览器拒绝.

为什么要跨域 ? 现实工作开发中经常会有跨域的情况,因为公司会有很多项目,也会有很多子域名,各个项目或者网站之间需要相互调用对方的资源,避免不了跨域请求.

如何解决跨域 ?

  • 通过jsonp跨域
  • document.domain + iframe跨域
  • location.hash + iframe
  • window.name + iframe跨域
  • postMessage跨域
  • 跨域资源共享(CORS)
  • nginx代理跨域
  • nodejs中间件代理跨域
  • WebSocket协议跨域