JS之跨域问题汇总

1JS 之跨域问题汇总

跨域问题的场景和解决方案多种多样,只要是做前端开发,总会遇到。而且面试时也是必问的问题。所以自己学习总结记录一下。

因为浏览器的同源策略,前端开发会遇到各种跨域问题。本篇文章总结了遇到跨域问题的不同的场景以及对应的解决方案。

前言

在总结各种跨域问题之前,我们先来了解一下浏览器的同源策略。

协议、域名、端口都相同才叫同源。具体的这里就不赘述了。

同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。

设想这样一种情况:A网站是一家银行,用户登录以后,又去浏览其他网站。如果其他网站可以读取A网站的 Cookie,会发生什么?

很显然,如果 Cookie 包含隐私(比如存款总额),这些信息就会泄漏。更可怕的是,Cookie 往往用来保存用户的登录状态,如果用户没有退出登录,其他网站就可以冒充用户,为所欲为。因为浏览器同时还规定,提交表单不受同源政策的限制。

由此可见,"同源政策"是必需的,否则 Cookie 可以共享,互联网就毫无安全可言了。

受到同源限制:

1)无法读取不同源的 Cookie、LocalStorage 和 IndexDB 。

2)无法获得不同源的DOM 。

3)不能向不同源的服务器发送ajax请求。

不受同源限制:

在浏览器中,

你可能感兴趣的:(JS之跨域问题汇总)