Home. Help index. Up.
Logiweb relays provide two services: Firstly, they resolve Logiweb references into http indirections so that one can effectively reference a Logiweb page from the World Wide Web. Secondly, they allow advanced users to experiment with the Logiweb protocol in that they provide a user interface for sending Logiweb messages to Logiweb servers and receiving the associated responses.
To resolve a Logiweb reference via a Logiweb relay, look up relay-name/go/reference.
relay-name could be something like http://logiweb.eu/logiweb/server/relay.
reference must be a Logiweb reference expressed in big endian hexadecimal. This is going to change to mixed endian hexadecimal some day.
Looking up relay-name/go/reference results in an html page that redirects your browser to the Logiweb page. Your browser will then typically ask you what to do with a page of type application/x-Logiweb.
If you look up relay-name/go/reference/level/path instead, then the relay will first resolve relay-name/go/reference into an url, then, if e.g. level=2, redirect to ../../path relative to that url. The level indicates the number of ../ to prepend the relative path.
As an example, if 06...01 is a Logiweb reference in big endian notation (the elipsis represents about 60 hex digits) then http://logiweb.eu/logiweb/server/relay/go/06...01 looks up the Logiweb page with reference 06...01 and http://logiweb.eu/logiweb/server/relay/go/06...01/2/body/tex/page.pdf looks up ../../body/tex/page.pdf relative to the Logiweb page. The crossbrowser places the TeX/PDF face of the page at exactly that location.
To send a message to a Logiweb server via a Logiweb relay, look up relay-name/hex/request.
relay-name could be something like http://logiweb.eu/logiweb/server/relay.
request must be a Logiweb request expressed in mixed endian hexadecimal.
Looking up relay-name/hex/request results in an html page that comments on the request and the associated response (if any).
A request may be also the empty string or may have the following obsolete syntax:
request | ::= | nop | ping | get | notify | prefix |
nop | ::= | nop |
ping | ::= | ping |
get | ::= | get/address/class/index |
notify | ::= | notify/address/class/operation/value |
prefix | ::= | prefix/label/request |
address | ::= | bitvector+hexvector |
bitvector | ::= | bit* |
hexvector | ::= | hexdigit* |
class | ::= | index | type | sibling | url |
index | ::= | cardinal |
label | ::= | cardinal |
operation | ::= | add | remove |
value | ::= | char* |
bit | ::= | 0 | 1 |
digit | ::= | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
hexdigit | ::= | digit | a | b | c | d | e | f |
cardinal | ::= | digit digit* |
Klaus Grue, GRD-2004-08-03