同源策略禁止读取位于_web面试同源和跨域详解

6bd4e1e904a379cc472c75254cea81fe.png

前言

众所周知浏览器的同源策略及跨域的方法在前端面试中也是出场率极高的问题,本文主要跟大家分享了关于前端面试时会遇到的同源和跨域问题,下面话不多说了,来一起看看详细的介绍吧。

同源

1.同源的概念

同源(也叫同源策略),是浏览器中的一种安全机制

2.同源的规则

同源指‘三个相同’,协议相同,域名相同,端口号相同(简单来说,就是同一个网站)

http://www.zs.com/8088

http://www.zs.com/80 端口号不同

http://www.ls.com/8088 域名不同

https://www.zs.com/8088 协议不同

3.同源的目的

是为了保护用户信息的安全,防止恶意网站窃取信息

4.同源策略的限制范围(也就是不同源的情况)

cookie,localStorage,IndexDB无法读取

DOM无法获取

ajax请求不能发送(并不是说请求不能发送了,而是在请求的过程中被拦截了)

注意点:同源机制的判断时机:

发送ajax请求时,不判断两个页面是否同源(可以发送请求)

浏览器也可以接收到后台响应的内容(能接收响应)

接收到响应后,浏览器才会根据同源策略判断响应内容的页面和当前页面是否是同源的,如果是同源的,请求发送成功;否则就拦截

如何进行跨域访问

怎么跨域进行AJAX请求

主要由三种方法可以绕过同源策略的限制,来进行跨域的AJAX请求。

JSONP

JSONP是客户端与服务端跨域通信的常用的方法。利用可以跨域的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值