- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Wed, 04 Mar 2009 12:18:52 -0800
- To: HTML WG <public-html@w3.org>
As we know there is a data URI scheme[1] used in the wild already.
It in principle allows to define self-sufficient HTML documents -
documents that are
serialized as a mono file. Such documents may include markup, styling
and all resources
like images contained in single file.
But there are problems with the data URI scheme that makes it not so
convenient to use:
when document uses multiple instances of the same image then data bits
of such an image is getting
inserted multiple times. Another problem arises when the document needs
to be split into multiple
components - with data URIs that is not so trivial to do. And there are
other (technical) problems
with the data URI scheme: e.g. such long URIs are not so good for
serving as keys in hash tables and maps.
Would be nice if it will be possible to define [image] data in the same
way as <style> sections inside the document.
Technically this could be made by using <script type="text/base64"> blocks:
<html>
<head>
<script type="text/base64" data-type="image/png"
cid="images/red-dot.png">...base64 data...</script>
<script type="text/base64" data-type="image/png"
cid="images/blue-dot.png">...base64 data...</script>
<style>
li { list-style-image: url(red-dot.png); }
</style>
</head>
<body>
<img src="images/blue-dot.png" />
</body>
</html>
From the UA implementation perspective support of this is very simple:
before issuing download request for the data
it should lookup first for CIDs of blocks that look like: <script
type="text/base64" cid="images/red-dot.png"> and
if it was found simply use it.
Such self-contained documents are convenient for the cases when HTML
used as a document format
of files stored on local storages for personal use. It also can be
useful in e-mails.
In principle it also makes sense to use such documents for publishing on
the Web. E.g. articles that have some illustration
images. Such images are unique for the document and really a part of
content rather than separate standalone
entities. And that <script type="text/base64"> approach is backward
compatible too - if UA will not recognize
<script type="text/base64"> block it will send request to the server and
server may supply data for it separately.
<http://en.wikipedia.org/wiki/Data_URI_scheme>Any comments, objections,
thoughts?
[1] http://en.wikipedia.org/wiki/Data_URI_scheme
--
Andrew Fedoniouk.
http://terrainformatica.com
Received on Wednesday, 4 March 2009 20:19:39 UTC