3. 语法 (Syntax)
"data" URL 方案的正式语法定义如下:
dataurl := "data:" [ mediatype ] [ ";base64" ] "," data
mediatype := [ type "/" subtype ] *( ";" parameter )
data := *urlchar
parameter := attribute "=" value
其中:
urlchar从 [RFC2396] 导入type、subtype、attribute和value是来自 [RFC2045] 的相应标记, 必要时使用 [RFC2396] 的 URL 转义编码表示
[RFC2045] 中的属性值允许表示为标记或带引号的字符串。但是, 在 "data" URL 中, "quoted-string" 表示会很尴尬, 因为引号本身不是有效的 urlchar。因此, 如果参数值包含任何 "tspecial", 参数值应使用 URL 转义编码而不是带引号的字符串。
";base64" 扩展与内容类型参数的区别在于它后面没有 "=" 符号。