It is useful to separate different kinds of `meta-information'. Among
other things, there are:
* information about a specific encoding of a document
e.g., size in bytes, number of pages, version of the
representation-language, number of colors used, etc.
* information about the content of the document
e.g., title, author, abstract, language it is written in
* information about the context of the document in its current
e.g., the cost to access it, the number of times it's
been accessed before, who stored it, how long it's been
cached, who it was mailed to, who has read access to it.
Here is a simple rule:
* for things that can change even if the documents don't,
don't bury them inside the things you store.
That makes sense if you don't want have to rewrite the file every time
you want to add another person to the access control list, etc.
Certainly, things like `back to previous page' probably don't fit into
this category. Certainly not the `next article' button at the bottom,
which probably has to change if you delete the next article.
If the clients can tell between intrinsic and extrinsic properties, it
doesn't matter as much how the data gets *transported*. If you think
that HTML is a transport mechanism, then you can just put the data
inside the HTML with appropriate tags. But if you're using HTML as a
storage format, too, then you want to be careful not to put some kinds
of metainformation inside the document files themselves.