什么是跨域?前端如何解决跨域问题?

文章目录

    • 一、什么是跨域?
    • 二、常见的跨域

一、什么是跨域?

浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。

前后端分离的模式下,前后端的域名是不一致的,所以就会出现跨域问题。
而浏览器为了安全问题一般都会限制跨域访问,也就是不允许跨域请求资源。所以出现了浏览器的同源策略。

同源策略:指协议、域名、端口都要相同,其一不同都会出现跨域。
同源策略限制的几种行为:

  • 无法读取Cookie、LocalStorage和IndexDB*(IndexDB是浏览器提供的本地数据库,可以被网页脚本创建和操作,允许存贮大量数据,提供查找接口,能建立索引。)*
  • 无法获得DOM和JS对象
  • 不能发送AJAX请求

二、常见的跨域

url 说明 是否允许通信
http://www.a.com/a.js
http://www.a.com/b.js
同一域名下 允许
http://www.a.com/a/a.js
http://www.a.com/b/b.js
同一域名下不同文件夹 允许
http://www.a.com:8000/a.js
http://www.a.com/b.js
同一域名下不同端口 不允许
http://www.a.com/a.js
http://192.168.10.11/b.js
域名和该域名对应ip 不允许
http://www.a.com/a.js
http://index.a.com/b.js
http://a.com/c.js
主域相同,子域不同 不允许
http://www.a.com/a.js
http://www.b.com/b.js
不同域名 不允许
http/www.a.com/a.js
https/www.a.com/b.js
同域名,不同协议 不允许

你可能感兴趣的:(前端,前端,javascript,服务器)