3. Синтаксис
dataurl := "data:" [ mediatype ] [ ";base64" ] "," data mediatype := [ type "/" subtype ] *( ";" parameter ) data := *urlchar parameter := attribute "=" value
"urlchar" импортирован из спецификации URI [RFC2396], а "type", "subtype", "attribute" и "value" соответствуют лексемам из стандарта MIME [RFC2045], по необходимости обработанные URL escaped кодировкой.
Из спецификации MIME следует, что значения атрибутов могут быть представлены как в виде лексем, так и виде строк, обрамлены кавычками. Тем не менее, в Data:URL, представлять "quoted-string" было бы неуклюжим, поскольку символы кавычек сами по себе не являются валидными urlchar. Поэтому, если значение атрибутов содержат какие-либо "tspecial", необходимо использовать именно URL Escaped кодирование, а не quoted-string.
Расширение ";base64" отличается от параметра content-type тем, что не имеет последующего знака "=".