Skip to main content

3. Syntax (语法)

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扩展可以通过它没有后续"="符号这一事实与content-type参数区分开来。