Logiweb

Logiweb Help: Relay url syntax

Home. Help index. Up.

Introduction

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.

Resolving references

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.

Sending messages

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).

Obsolete syntax

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