Date: Mon, 28 Mar 1994 11:15:52 +0200
Message-Id: <9403280915.AA19194@dxmint.cern.ch>
From: hallam@alws.cern.ch
Subject: Re: how to make progress on the URL document
<RE ? as indicator of a query>
There are 3 distinct positions:
1) Every query must use the ? form
2) The ? form should be valid for all protocols where a query makes sense
3) Wether a protocol recognises the ? form should be a function of the
protocol. Like speed limits in France. You can choose to have them
or not as you feel like.
I argue for (2). The first is impossible. Every URL can be factored out
into a pure ? form. When you ask a file system for a file you are
preforming a query. Any query may also be considered to be in itself
a uniquely identified object and thus we can formulate a URL if we choose.
I don't buy the argument that a query is in some way related to caches.
Why should a query result be any more likely to change than the database
upon which the query is made? If the database refered to by the URL does
not change neither will the query result (provided it is deterministic).
The only place where Metainformation may be obtained is from the headers
if any that are returned.
Option 3 is not an option. The client should operate in complete ignorance
of the details of the transport. The properties of the request and response
should be clearly defined :-
REQUEST: I want this piece of information from this resource with this set
of search parameters taken from a form.
REPLY: Your query obtained this set of information. The format of the data
is such and such.
Caching should be a function of the network transport layer. A client may
choose to give hints as to what data is most likely to be needed again.
I think we need a multi-layer reference model for the web transports so
we can hack out precisely what information is needed where. In general the
client presentation module should make all requests for data from the
network transport layer. This is the only way of ensuring that the client
layer does not have to deal with caching issues.
Remember that the best way to run a cache is in any case as a group cache
at the machine level. If two users both need the same page frequently it
should be cached only once. This is important when designing a persistent
cache on disk. The documents I am most interested in caching are ones
that are very big (eg SMTP/NNTP specs) There is no point in six of us
caching the same info.
Phill H-B