四时宝库

程序员的知识宝库

blob 协议是什么(ble协议详解)

我在看 b 站视频播放的时候就发现他们视频是用的 blob 协议。

上面的视频播放就是这种链接,src 的值是 blob:https://www.bili这种。

而不是我们以为的 https://www.bili这种。

他用的就是这种 blob URL。如果直接复制这个链接在浏览器地址栏是打不开的。

什么是blob URL

blob URL 也叫对象URL,这个是与 Blob 与 file 对象一起使用。

Blob URL 只能由浏览器在内部生成。

是使用 URL.createObjectURL()将创建一个对 Blob 或者 File 对象的特殊引用。

URL.revokeObjectURL()释放该引用。这些URL只能在浏览器的单个实例和同一会话中本地使用。也就是这个页面的生命周期。

为什么要使用他

Blob URL/Object URL 是一种伪协议,允许 BlobheFile 对象用作图形,二进制数据的下载链接等内容的 URL 源。

例如,你不能将 image 对象的原始字节数据交给他,因为他不知道如何梳理他。例如,他需要通过 URL 加载图像,也就是二进制数据,这适用于任何需要URL 作为源的内容。

与其上传二进制数据,然后通过URL 返回他。不如使用额外的本地步骤,以便能够直接访问数据,而不需要通过服务器。

比 data URL

它是一个 data URI 的一个更好的替代方案,后者是编码为 base64 的字符串。Data URI 的问题实在 JavaScript 中每个字符占用两个字节。

最重要的是,由于 base-64 编码,增加了 33%。Blobs 是纯二进制字节数据,不像 data-URI 那样有任何显著开销,这使得他们处理起来更快,更小。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接