- From: Noah Mendelsohn <nrm@arcanedomain.com>
- Date: Wed, 09 Mar 2011 11:44:53 -0500
- To: John Kemp <john@jkemp.net>
- CC: "www-tag@w3.org" <www-tag@w3.org>, Jeni Tennison <jeni@jenitennison.com>
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