Re: Identification of documents in Web applications

On 3/9/2011 11:08 AM, John Kemp wrote:
> to me, "?" provides arguments that are interpreted relative to the server-side namespace

Where to the specs say that?  RFC 3986 says [1]:

"The query component contains non-hierarchical data that, along with data 
in the path component (Section 3.3), serves to identify a resource within 
the scope of the URI's scheme and naming authority (if any). The query 
component is indicated by the first question mark ("?") character and 
terminated by a number sign ("#") character or by the end of the URI. "

Nothing about servers there. The query is just part of the structured 
information in the URI, it's neutral with respect to server and client, and 
that's why I find it appealing. It's also why the AJAX code in Google maps 
can both generate and interpret query parms while remaining RFC 
3986-compliantcompliant.

So, query is in some sense "just part of the URI", and # is interpreted 
relative to the media type of a representation (actually, per 3986 "that 
might result from a retrieval action on the primary resource", so even that 
isn't client-only). I think the notion that ? is server-side is a 
misunderstanding resulting from the fact that, RFC 2616 mandates that HTTP 
Request-URIs must not include the fragment [2], so in that sense only # is 
client side. "?" is, appealingly, neutral.

In short:

* We can use # which is not sent to the server, unless HTTP changes.

* We can use ? results in excess traffic to the servers, unless the user 
agents change (as they are starting to)

I think ? is the more appealing long term direction, and should be 
seriously explored.

Noah

[1] http://www.apps.ietf.org/rfc/rfc3986.html#sec-3.4
[2] http://www.ietf.org/rfc/rfc2616.txt

Received on Wednesday, 9 March 2011 16:45:23 UTC