关于跨域的笔记

跨域

因为跨域是我们经常在开发过程中遇到的问题,面试的时候面试官也经常问这个问题,特此记录一下。

定义

说到跨域,就不得不提一个概念:同源

同源:狭义来说,就是指域名、协议和端口都相同。

跨域:简单来说,是指浏览器不能执行其他网站的脚本。

跨域问题其实就是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。
为了维护用户的安全,才有了浏览器的同源策略。

同源策略

是浏览器的一个安全限制,从一个源加载的文档或脚本在默认情况下是不能访问另一个源的资源的。

同源策略限制了以下行为:

  • Cookie、LocalStorage 和 IndexDB
  • DOM 和 JS 对象无法获取
  • Ajax 请求发送不出去

但是!以下几种情况不受同源策略限制:

  1. 页面中链接(像本文末尾的链接),重定向和表单的提交
  2. 跨域资源的引入是不受同源策略影响的限制的,但是JS读不到其中的内容。比如<script src="..."></script><img><link><iframe>

比较明显的跨域

当域名、端口或协议不相同时,就会造成跨域问题,如:

例子1例子2方面
httphttps协议不同
80008001端口不同
wwwblog域名不同

链接: 本文为参考其他博主博客的笔记,未记全,想看其他博主的详细知识分享请点击此链接.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值