阐述Javascript的同源策略?

同源策略(Same-origin policy)是一种重要的安全策略,它被用于限制从同一源加载的文档或脚本如何与来自其他源的资源进行交互。这是一种防止恶意行为的重要安全机制。

在JavaScript中,如果两个网页的协议,端口(如果有的话)和主机都相同,那么这两个网页属于同源。这意味着http://www.example.com/dir/page1.html 和 http://www.example.com/dir/page2.html 是同源的。

但是,以下例子则不属于同源:

  • http://www.example.com 和 https://www.example.com (协议不同)
  • http://www.example.com:80 和 http://www.example.com:81 (端口不同)
  • http://www.example.com 和 http://en.example.com (主机不同)

同源策略的主要影响包括:

  1. Cookie、LocalStorage 和 IndexDB 无法读写。
  2. DOM 无法获得和操作。
  3. AJAX 请求不能发送。

当然,也有一些方法可以在不同源的情况下进行数据通信,比如 JSONP、CORS(跨源资源共享)等。

比如,CORS是一种W3C标准,它允许服务器使用特定的HTTP头来告诉浏览器,它允许来自其他源的请求。这样,即使是不同源,我们也可以在满足CORS策略的条件下,进行数据通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值