Date: Wed, 9 Mar 94 11:22:34 +0100
From: Tim Berners-Lee <timbl@ptpc00.cern.ch>
Message-Id: <9403091022.AA08523@ptpc00.cern.ch>
To: uri@bunyip.com
Subject: The use of "?" in URLs
The "?" separator is defined as a search string separator
at the highest level. That means that it can't be used for
other things!
If you look at the generic expansion,
generic :: scheme : path [ ? search ]
you see that the use of "?" is outside differences between
schemes in priciple. In fact, the syntax mentions a search
option for each relevant scheme separately simply in order
to save confusion when people try to search news articles, etc.
However, hijacking the "?" as a separator for transfer mode
as yandros@MIT.EDU suggests, or using a tab for a search separator
as Mark McCahill suggests are neither approporiate.
The idea is that anyone (without looking at the scheme)
can see that such URLs are search URLs. The client can
represent it specially and do a whole load of scheme-independent
processing. For example, it can allow the user to
perform a new search, stripping of the search bit and adding
a new one. The "?" is basically a separator between
machine-usable
At the time of retrieval, the actual protocol operations
vary from protocol to protocol. For gopher, you have to
put in a tab -- no big deal. In WAIS you have to perform
a different operation (a much bigger deal than putting a
tab in!). In FTP and NNTP you can't do it.