Subject: Re: Query String format still undefined ?

From: "Agnieszka Szczurowska R (TX/EUS)" <[email-masked]>
Date: Thu, 22 Jul 2004 11:44:33 -0400 (EDT)

Hi,

I read your reply to Stephan Hesmer's question about BNF of query string. Your message was very informative. I have a question though about your Generating query strings section: what references did you use for these summaries? I am especially interested in:
 "/", ":", "@", "$" and "," should be %-escaped, as these are the other "reserved" characters of generic URI syntax, although they aren't reserved in this context. Most (perhaps all) servers accept these without %-escaping, but it is sensible to do so. "/" is significant because some old relative URI resolvers don't behaviour properly if this appears in a query string. 
section. This would be an excellent answer to my question below. I need to submit a bug on one of the servers we are using, but need to base my answer on standards.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I have a question about http URL schema and even though it seems simple I cannot find a concrete answer from http related RFCs.

My question: Are characters like @ and : supposed to be escaped within http query string of GET requests?

My analysis:

1) I read RFC 2068 (specifically sections 3.2 and 5.1) and as far as BNF of Request-URI they refer to RFC 2396.

2) I read RFC 2396, which is a generic RFC for URI, not specific to HTTP. BNF for query is defined as following:
query = *uric 
uric = reserved | unreserved | escaped 
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," 
unreserved = alphanum | mark 
mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" 
escaped = "%" hex hex 
According to the above BNF, @ and : are reserved characters and should be escaped in the following query string if not used for what they were reserved for:

GET /script?owner=sip%3A12145836201%40imsp.net&action=get_attributes HTTP/1.1

3) HOWEVER, previous version of RFC 2396, RFC 1738, specified in HTTP specific section 3.3 that only 4 characters: / ; , ? are reserved for query in http URL. RFC 2396 also specifies that schema specific parts of RFC 1738 would become separate documents. I can find separate documents for other schemas, but not for HTTP directly.

It seems like accordingly to old RFC 1738, @ and : would not have to be escaped and the query string would look like:
GET /script?owner=sip:[email-masked]&action=get_attributes HTTP/1.1

I would really appreciate your help, since I have exhausted all known to me documentation provided by w3.
Thank you.

Best Regards,
Agnieszka Szczurowska

Ericsson Inc.
Internet Protocol Multimedia  Solutions Integration

---

From: "Agnieszka Szczurowska R (TX/EUS)" <[email-masked]>
Date: Fri, 23 Jul 2004 11:02:46 -0500

Hi,
I tried to post the following reply to the message of Jamie Lokier, but I do no see the posting. The address of the email below was chosen when I clicked on [ Respond ] link above the message in the archive. If this is not a way to reply to a message, then what is the procedure for posting?
I am really needing an answer to a correct interpretation of the http standard due to an assignment we need to complete in Ericsson. Please do advise if I shall post my question somewhere else on w3.
Thank you,
Agnieszka Szczurowska

>  -----Original Message-----
> From: 	Agnieszka Szczurowska R (TX/EUS)  
> Sent:	Thursday, July 22, 2004 10:43 AM
> To:	[email-masked]'; [email-masked]'
> Subject:	Re: Query String format still undefined ?
> 
> Hi,
>