什么是跨域

CDN测评 0 461

什么是跨域

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。

如下给出了跨域的几种情况


  • image.png

为什么会有跨域问题

核心原因在于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。

这里有一个关键词浏览器大家一定要记住,受跨域影响的只在浏览器范围。无论是前端和后端一定要记住限制的宿主。因为之前的工作中曾经不止一次的有经验不足的小伙伴问到,为什么接口给app用没问题,pc或者H5一调就不行,肯定是他们调用的问题。这里再提醒一下,native调用接口的时候是没有经过浏览器的。只有通过浏览器发起的ajax请求,在跨域的时候会受到同源限制。app navtive直接调用,或者server端发起的http请求等等均不会受到影响。

受到同源限制的范围

浏览器同源限制的地方主要有如下三处,因为本篇的标题已经明确是接口跨域相关所有后续的方案也只介绍ajax请求相关

  • Cookie、LocalStorage 和 IndexedDB

  • DOM

  • AJAX 请求

也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。