zoukankan      html  css  js  c++  java
  • HTTP 的 Data URLs

    前言

    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 标签必须封闭。
    
  • 相关阅读:
    bin/sh^M: bad interpreter: No such file or directory解决
    集群常见错误解决方案(转载)
    华为交换机型号前缀
    Intel超低功耗CPU的一些信息
    关于Datastage资料库的一点小发现
    Failed to connect to JobMonApp on port 13491
    鸡汤
    SVN and GitHub
    大数据
    Python
  • 原文地址:https://www.cnblogs.com/shuiche/p/14040258.html
Copyright © 2011-2022 走看看