2007/01/19 [金]
ウェブブラウザには、RFC で定義されている URI を処理するためのルーチンが組み込まれています。Mozilla Firefox や Opera は、そのうちの一つである RFC2397 で決められている data URL スキームを処理できます。このスキームは、html などのファイルの中に、通常リソースへのリンクを指定する場所に、直接データを埋め込むためのスキームです。そのため、複数のファイルを扱う必要がなくなるという利点が生まれます。具体的な書式は次のとおりです。
data:[MEDIATYPE][;base64],DATA
ここで、MEDIATYPE は、インターネットでよく用いられている image/png
や text/plain;charset=US=ASCII
などで表現されているメディアを指定する文字列です。;charset=US=ASCII
などのオプションも指定可能です。
データを base64 で符号化するときは、;base64
を付加します。これを付加しない場合 DATA は ASCII データとみなされます。ASCII データの場合、URL エンコードをする必要があります。
DATA で実際のデータを指定します。ただし、実装によっては、このような URL スキームの長さに制限がかかっていることがあり、長い DATA を指定することができない場合があります。
text | <a href="data:text/plain,This%20is%20a%20test.">test</a> |
html | <a href="data:text/html, |
<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB UElEQVR42nWT3U4CUQyEvy4HENEEMd5ITLwwvv8TGRPlwl9QBJc9y9abaXJEIWnYbTrT6XRr7s7+ zwwDrEi5O38LgXQA2Ad6enbAzWiAbp/IQoHAA0VfUYmgBTLQAI07u18KBB4CR8AxMAZGIumAGlgr KjPqIIkR+iI4AabABXAmwhb4BF6AN9V3IvGk7knFE+ASuAZmwKlkP0kZImyV36Vi3iCYAbeKqeTf C7wBvvQ/MKNOcrqSeWPgHLgCbjTKRuBXYK5GgbPwIEh6hR8jESLQQMAqwGGiy+kW2MrppToCfAPv wErjZNV7EHTATuCVDLsTeKL8g+QvRJiF8eROa0YW+wJ4FHipEbLWN9cq18pldzwVq6mBD71vgWd5 sSvGWsrUphwBqdjGRyKZw2LERg1qkTdxE1ZeoxlJoDimqjA5x02UB2UHzrlcFyLJ/530D0qclClP hweQAAAAAElFTkSuQmCC " /> |
by seclan