Skip to content

什么是同源策略

同源

如果两个 URL 的 protocolport (en-US) (如果有指定的话)和 host 都相同的话,则这两个 URL 是同源

==协议 、端口、域名==相同,则同源

同源策略限制内容

  • Cookie、LocalStorage、IndexDB等存储内容
  • DOM 和 JS 对象无法获得
  • Ajax请求发送后,会被浏览器拦截

允许跨域的标签

  • <script src=""> 不存在跨域请求限制

  • <img src=XXX>

  • <link href=XXX>

  • <iframe>

阻止跨域访问

  • 检测CSRF token

跨域解决方案

  1. JSONP跨域解决方案底层原理
  2. CORS跨域资源共享
  3. 基于http proxy实现跨域请求
  4. 基于post message
  5. 基于iframe实现跨域
    • window.name
    • location.hash
    • document.domain
  6. websocket 和 nginx反向代理

参考

  1. 九种跨域方式实现原理(完整版)

  2. 前端常见跨域解决方案(全)