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 标签必须封闭。
    
  • 相关阅读:
    希腊字母
    word写文章时公式编号~~以后不要再浪费时间在这些事情上
    网络中的一些基本概念~~但很重要
    导师教给我们的~~
    ONE工具配置
    java环境变量设置
    【转载】UnicodeEncodeError: 'gbk' codec can't encode character 'xa0' in position XXX
    python中yield的用法详解——最简单,最清晰的解释【转载】
    python-乌龟和鱼游戏(面向对象实例)
    centOS7 使用yum命令报错:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
  • 原文地址:https://www.cnblogs.com/shuiche/p/14040258.html
Copyright © 2011-2022 走看看