- From: Paul Leach <paulle@microsoft.com>
- Date: Mon, 1 Apr 1996 09:42:37 -0800
- To: "'David W. Morris'" <dwm@shell.portal.com>, 'Jim Gettys' <jg@w3.org>
- Cc: "'http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com'" <http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com>
Ooops. I wasn't aware of conflicting changes to this section. I only really intended to add the last paragraph, with the rest for context, not claim the last word on the whole section. Jim -- please just take the added paragraph. Thanks, Paul >---------- >From: David W. Morris[SMTP:dwm@shell.portal.com] >Sent: Sunday, March 31, 1996 9:54 PM >To: Paul Leach >Cc: 'http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com' >Subject: Re: URLLEN: consensus > > > >On Sun, 31 Mar 1996, Paul Leach wrote: > >> This is a replacement for section 3.2.1 on the syntax of URUs. It adds a >> paragraph to clarify the issue of URL length. (Changes are marked with >> change bars.) >> >> This issue was discussed on the list, and this is believed to represent >> the consensus on this issue. If you believe otherwise, please let me >> know; otherwise, this issue will be closed. > >The "+" is incorrect ... it is reserved in 1.0 (see JG's latest diff) >and must be either reserved or unsafe. It isn't 'safe'. Of the three >who last debated this point on the list it was two for reserved and one >(me) for unsafe. > > >> ------------------------- >> >> 3.2.1 General Syntax >> >> URIs in HTTP can be represented in absolute form or relative to >> some known base URI [11], depending upon the context of their use. >> The two forms are differentiated by the fact that absolute URIs >> always begin with a scheme name followed by a colon. >> >> URI = ( absoluteURI | relativeURI ) [ "#" fragment ] >> >> absoluteURI = scheme ":" *( uchar | reserved ) >> >> relativeURI = net_path | abs_path | rel_path >> >> net_path = "//" net_loc [ abs_path ] >> abs_path = "/" rel_path >> rel_path = [ path ] [ ";" params ] [ "?" query ] >> >> path = fsegment *( "/" segment ) >> fsegment = 1*pchar >> segment = *pchar >> >> params = param *( ";" param ) >> param = *( pchar | "/" ) >> >> scheme = 1*( ALPHA | DIGIT | "+" | "-" | "." ) >> net_loc = *( pchar | ";" | "?" ) >> query = *( uchar | reserved ) >> fragment = *( uchar | reserved ) >> >> pchar = uchar | ":" | "@" | "&" | "=" >> uchar = unreserved | escape >> unreserved = ALPHA | DIGIT | safe | extra | national >> >> escape = "%" HEX HEX >> reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" >> extra = "!" | "*" | "'" | "(" | ")" | "," >> safe = "$" | "-" | "_" | "." | "+" >> unsafe = CTL | SP | <"> | "#" | "%" | "<" | ">" >> national = <any OCTET excluding ALPHA, DIGIT, >> reserved, extra, safe, and unsafe> >> >> For definitive information on URL syntax and semantics, see RFC >> 1738 [4] and RFC 1808 [11]. The BNF above includes national >> characters not allowed in valid URLs as specified by RFC 1738, >> since HTTP servers are not restricted in the set of unreserved >> characters allowed to represent the rel_path part of addresses, and >> HTTP proxies may receive requests for URIs not defined by RFC 1738. >> >> | The HTTP protocol does not place any a-priori limit on the length of >> a URI. >> | Servers MUST be able to handle the URI of any resource they serve, >> | and SHOULD be able to handle URIs of unbounded length if they >> provide >> | GET-based forms that could generate such URIs. A server SHOULD >> return >> | a status code of >> | 414 Request-URI Too Large >> | if a URI is longer than the server can handle. >> | >> | Note: >> | Servers should be cautious about depending on URI lengths above >> | 255 bytes, because some older client or proxy implementations may >> | not properly support these. >> | >> | All client and proxy implementations MUST be able to handle a URI >> | of any finite length. >> >> >> ---------------------------------------------------- >> Paul J. Leach Email: paulle@microsoft.com >> Microsoft Phone: 1-206-882-8080 >> 1 Microsoft Way Fax: 1-206-936-7329 >> Redmond, WA 98052 >> >> >
Received on Monday, 1 April 1996 09:54:21 UTC