simple_storm--benja: Simplify Storm by dropping headers

Author: Benja Fallenstein
Date: 2003-02-16
Revision: 1.8
Last-Modified:2003-03-25
Type:Architecture
Scope:Major
Status: Incomplete

Storm is quite complex with its MIME headers, and prone to become more complex if we choose to separate hashing of headers and bodies (raw_blocks--benja). If we break backward compatibility a single time, as Tuomas suggests, we should take the opportunity to get rid of our mistakes from the past, in order to make the future simpler.

Issues

Changes

Storm blocks do not have headers any more; the hash in their URN is only of the body. Storm URNs have the following form:

<namespace>:block:[<mediatype>],<data>

<namespace> is an informal URN namespace to be registered, like urn:urn-5. <bitprint> is a Bitzi bitprint as defined by <http://bitzi.com/developer/bitprint>. <mediatype> is the token defined in [RFC2397]--

mediatype := [ type "/" subtype ] *( ";" parameter ) parameter := attribute "=" value

System Message: WARNING/2 (doc/pegboard/simple_storm--benja/peg.rst, line 99); backlink

Inline emphasis start-string without end-string.

"where [...] 'type', 'subtype', 'attribute' and 'value' are the corresponding tokens from [RFC2045], represented using URL escaped encoding of [RFC2396] as necessary" [RFC2397]. (Escaping is necessary when a character isn't in the set of allowed URN characters.)

"X-" types aren't allowed, as they work against the persistence of Storm blocks; application/octet-stream or similar must be used instead.

Unlike in [RDF2397], if no <mediatype> is given, application/octet-stream is assumed (not text/plain).

There is a public domain Java implementation of bitprints at <http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/bitcollider/jbitprint/>. Bitprints may be registered as a URN namespace in the future, according to Bitzi. However, they will not include a content type.

- Benja