美文网首页
HTTP 的 Data URLs

HTTP 的 Data URLs

作者: 水车 | 来源:发表于2021-05-21 19:16 被阅读0次

    前言

    Data URLs,即前缀为 data: 协议的URL,它允许开发者向文档中嵌入小文件。

    语法

    Data URLs 由四个部分组成:前缀(data:)、指示数据类型的MIME类型、如果非文本则为可选的base64标记、数据本身:

      data:[<mediatype>][;base64],<data>
    

    mediatype 是个 MIME 类型的字符串,例如 "image/jpeg" 表示 JPEG 图像文件。如果被省略,则默认值为 text/plain;charset=US-ASCII

    如果数据是文本类型,你可以直接将文本嵌入 (根据文档类型,使用合适的实体字符或转义字符)。如果是二进制数据,你可以将数据进行base64编码之后再进行嵌入。

    mediatype 媒体类型(MIME类型)

    媒体类型有自己的通用结构: type/subtype

    MIME的组成结构非常简单;由类型与子类型两个字符串中间用'/'分隔而组成。不允许空格存在。type 表示可以被分多个子类的独立类别。subtype 表示细分后的每个类型。

    MIME类型对大小写不敏感,但是传统写法都是小写。

    mediatype MIME类型分类

    MIME类型基本可以分成这几种类型,完整文档参数这里

    类型 描述 典型示例
    text 表明文件是普通文本,理论上是人类可读 text/plain, text/html, text/css, text/javascript
    image 表明是某种图像。不包括视频,但是动态图(比如动态gif)也使用image类型 image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x-icon, image/vnd.microsoft.icon
    audio 表明是某种音频文件 audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav
    video 表明是某种视频文件 video/webm, video/ogg
    application 表明是某种二进制数据 application/octet-stream, application/pkcs12, application/vnd.mspowerpoint, application/xhtml+xml, application/xml, application/pdf

    简单案例

    data:,Hello%2C%20World!
    //简单的 text/plain 类型数据
    
    data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D
    //上一条示例的 base64 编码版本
    
    data:text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E
    //一个HTML文档源代码 <h1>Hello, World</h1>
    
    data:text/html,<script>alert('hi');</script>
    //一个会执行 JavaScript alert 的 HTML 文档。注意 script 标签必须封闭。
    

    相关文章

      网友评论

          本文标题:HTTP 的 Data URLs

          本文链接:https://www.haomeiwen.com/subject/ycfgjltx.html