Table of Contents

Name

logiweb - the Logiweb protocol

Description

The Logiweb protocol allows all Logiweb servers in the world to cooperate on indexing all Logiweb pages in the world. Furthermore, the Logiweb protocol allows Logiweb clients like pyk(1) to locate and publish Logiweb pages.

To learn the details of the Logiweb protocol, try using it by looking up a Logiweb relay (such as http://logiweb.eu/logiweb/server/relay/). Another source is the BNF of the protocol at http://logiweb.eu/logiweb/doc/server/protocol.html.

In short, the Logiweb protocol is thus:


message ::= nop | event | ping | pong | get | got | put | prefix
nop     ::= 00
event   ::= 01 event-id
ping    ::= 02
pong    ::= 03 logiweb-id time-stamp
get     ::= 04 address class index
got     ::= 05 address class index norm total time value
put     ::= 06 address class operation value
prefix  ::= 07 tag message

A Logiweb server responds to a 'ping' by a 'pong' and to a 'get' by a 'got'. A 'ping' can be used to see if a Logiweb server is listening at a given port and to query the current server time (c.f. lgwping(1) ). A 'get' can be used to translate a Logiweb reference to a web url. When a client asks a server to translate a Logiweb reference, the server may return the requested url, may refer the client to another Logiweb server, or may respond that the given Logiweb page does not seem to exist.

A 'put' requests a server to change its 'server state', i.e. the data structure which can be queried by 'get' requests. In general, a server never changes its state without validating the information and only takes 'put' requests as hints.

A server may also respond to requests by event messages. An event message can be a 'received' (indicating that a 'put' was received but with no indication what the server did to the request), a 'rejected' (indicating the server sees the request as nonsense), or a 'sorry' (indicating that the server has insufficient bandwidth to service all requests and, thus, responds to some requests by 'sorry' event messages which are very short messages that take up little bandwidth).

A message may carry any number of prefixes. Prefixes have no semantics, but if a request has a sequence of prefixes then the response will have the same prefixes. Logiweb proxies may add prefixes on outgoing requests and may use prefixes of incoming responses to send the responses to the right recipients. Furthermore, Logiweb clients may add random, unguessable prefixes to messages as a security measure.

Author

Klaus Grue, http://logiweb.eu/

See Also

logiweb(1) , lgwping(1) , pyk(1)


Table of Contents