tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Berry <>
Subject parameters in URL path segments
Date Tue, 22 Aug 2006 01:26:34 GMT

Sorry to open up this subject again. I've just read the mails in this  

Though I can't say I paid particular attention to the jkmount  
situation (and so I can't testify as to how treatment of such  
parameters might affect that), I can say that I'd like to be able to  
use ;parameter=value in my path segments in a tomcat environment:;biz=bar;foo/that;v=1.1/whatever

To me, this looks completely valid per rfc 2396, 2616, and 3986, and  
it's a surprise to me that tomcat strips any path following the first  
such parameter.

I would like to see tomcat essentially ignore the fact that ';'  
exists in a path segment, and pass it on into the servlet unmodified  
to do with as it pleases.

I'm inspired by the following paragraph in G.4 of rfc 2396:

	Extensive testing of current client applications demonstrated that
    the majority of deployed systems do not use the ";" character to
    indicate trailing parameter information, and that the presence of a
    semicolon in a path segment does not affect the relative parsing of
    that segment.  Therefore, parameters have been removed as a separate
    component and may now appear in any path segment.  Their influence
    has been removed from the algorithm for resolving a relative URI
    reference.  The resolution examples in Appendix C have been modified
    to reflect this change.

And also by the following from rfc 3986:

    Aside from dot-segments in hierarchical paths, a path segment is
    considered opaque by the generic syntax.  URI producing applications
    often use the reserved characters allowed in a segment to delimit
    scheme-specific or dereference-handler-specific subcomponents.  For
    example, the semicolon (";") and equals ("=") reserved characters  
    often used to delimit parameters and parameter values applicable to
    that segment.  The comma (",") reserved character is often used for
    similar purposes.  For example, one URI producer might use a segment
    such as "name;v=1.1" to indicate a reference to version 1.1 of
    "name", whereas another might use a segment such as "name,1.1" to
    indicate the same.  Parameter types may be defined by scheme- 
    semantics, but in most cases the syntax of a parameter is  
specific to
    the implementation of the URI's dereferencing algorithm.
Note that the segment syntax in rfc 3986 explicitly allows sub-delims  
(through pchar), of which ';' is but one.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message