2. Description
Certaines applications qui utilisent des URL ont également besoin d'intégrer des données de type média (Media Type Data) de petite taille directement en ligne (Inline). Ce document définit un nouveau schéma d'URL qui fonctionne comme un « adressage immédiat » (Immediate Addressing). Les URL sont de la forme :
data:[<mediatype>][;base64],<data>
Le <mediatype> est une spécification de type média Internet (Internet Media Type Specification) (avec des paramètres facultatifs). L'apparition de « ;base64 » signifie que les données sont encodées en base64. Sans « ;base64 », les données (en tant que séquence d'octets) sont représentées à l'aide de l'encodage ASCII pour les octets à l'intérieur de la plage de caractères URL sûrs et à l'aide de l'encodage hexadécimal %xx standard des URL pour les octets en dehors de cette plage. Si <mediatype> est omis, la valeur par défaut est text/plain;charset=US-ASCII. Comme raccourci, « text/plain » peut être omis mais le paramètre charset peut être fourni.
Le schéma d'URL « data: » n'est utile que pour les valeurs courtes. Notez que certaines applications qui utilisent des URL peuvent imposer une limite de longueur ; par exemple, les URL incorporées dans des ancres <A> en HTML ont une limite de longueur déterminée par la déclaration SGML pour HTML [RFC1866]. Le LITLEN (1024) limite le nombre de caractères pouvant apparaître dans un seul littéral de valeur d'attribut, le ATTSPLEN (2100) limite la somme de toutes les longueurs de toutes les spécifications de valeurs d'attributs qui apparaissent dans une balise, et le TAGLEN (2100) limite la longueur globale d'une balise.
Le schéma d'URL « data » n'a pas de formes d'URL relatives (Relative URL Forms).