跨域背后的故事(一)—–同源策略

链接跳转

我们每天玩着手机,看着里面众多的数据资源,从中找寻乐趣的信息,尤其是短视频平台火了之后,众多的知识,链接,资源越来越多,比如微信有人给你发了链接, 一点就获取去B站看搞笑视频了,又或许去京东商城看礼物了,但是这资源跳转背后的故事,你或许不太了解,卢卡带你去揭开链接背后的面纱

跨域背后的故事(一)-----同源策略
游戏

URL 统一资源定位器

互联网中所有的资源,都是简单的通过URL,来实现的,他们作为一个地址,带你去找寻资源的所在地,

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址

URL的构成:

分为协议、主机、端口、路径四部分组成

微信和B站的资源不一样呢?

简单说,通过域名dns系统,匹配到的主机,端口号都不一样

微信:https://mp.weixin.qq.com/s/HbzLEt6NOP9Is9F3GOnbUQ

Bilibili:https://www.bilibili.com/video/BV1LA411g7Qt

域名DNS,是将我们熟知的网站产品的简称作为关键字,代替固定的主机IP地址的操作。

举个例子

我要去找学校找小明玩,没有DNS的时候,我要去教室找他, 因为我和小明是同学,但是如果他们亲戚要找他, 就会去找班主任,班主任的身份就是(DNS)域名解析,然后班主任告诉他在,五年级三班,三楼右边第一个教室,才可以找到小明。

言归正传:

正是因为有协议,主机,端口区分去资源,导致资源在内部可以解析共享,但是其他网站可能就不认识了,这时候就会出现一个新的协议;

浏览器,是用来展示服务器回馈给客户端数据展示的工具, 主要就是来识别多个链接URL,比如我们登录京东商城买东西,但是登录过后,就一直可以使用,这其中有cookie起作用,要是有一个恶意网站和京东名称一样,你访问到之后,可能会篡改拿到你之前cookie中的信息,到底是不是呢?

答案是不会, 因为浏览器有一个特别重要的安全机制,同源策略

假设一下,如果没有同源策略, 访问京东之后,买东西转账之后,点开了一个网站B,如果B是一个钓鱼网站,在没有同源策略限制的情况下,他可以通过js来访问和修改jd中任何数据;(说白了,判断是不是自己人)

同源策略:(SOP)

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能;

同源策略是浏览器的行为,是为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收

本质

如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。

https://www.bilibili.com/video 为例

URL 是否同源 原因
https://www.bilibili.com/video
https://www.bilibili.com/li’ke
http://www.bilibili.com/video.html 协议不同
https://www.bilibi.com/video 域名不同
https://www.bilibili.com:8080/video 端口号不同

主要体现

不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以xyz.com下的js脚本采用ajax读取abc.com里面的文件数据是会被拒绝的。

总结:

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。

因为浏览器支持同源策略,所以我们访问其他资源,需要跨域操作, 可以使用CORS,jsonP等,后面一期会更新的,加油哦,

我是卢卡,今天也是元气满满的一天,奥利给。


原文始发于微信公众号(卢卡多多):跨域背后的故事(一)—–同源策略

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/28542.html

(0)

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!