From dev-return-73967-apmail-tomcat-dev-archive=tomcat.apache.org@tomcat.apache.org Tue Aug 22 01:27:04 2006
Return-Path:
Delivered-To: apmail-tomcat-dev-archive@www.apache.org
Received: (qmail 71658 invoked from network); 22 Aug 2006 01:27:04 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199)
by minotaur.apache.org with SMTP; 22 Aug 2006 01:27:04 -0000
Received: (qmail 71130 invoked by uid 500); 22 Aug 2006 01:27:00 -0000
Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org
Received: (qmail 71070 invoked by uid 500); 22 Aug 2006 01:26:59 -0000
Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: "Tomcat Developers List"
Delivered-To: mailing list dev@tomcat.apache.org
Received: (qmail 71059 invoked by uid 99); 22 Aug 2006 01:26:59 -0000
Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49)
by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Aug 2006 18:26:59 -0700
X-ASF-Spam-Status: No, hits=0.0 required=10.0
tests=HTML_MESSAGE
X-Spam-Check-By: apache.org
Received-SPF: neutral (asf.osuosl.org: local policy)
Received: from [207.149.241.23] (HELO caddy.edworks.com) (207.149.241.23)
by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Aug 2006 18:26:58 -0700
Received: from [192.168.1.16] (c-24-20-133-214.hsd1.mn.comcast.net [24.20.133.214])
(using TLSv1 with cipher RC4-SHA (128/128 bits))
(No client certificate requested)
by caddy.edworks.com (Postfix) with ESMTP id 3F07C660BC4
for ; Mon, 21 Aug 2006 18:23:27 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v752.2)
To: dev@tomcat.apache.org
Message-Id:
Content-Type: multipart/alternative; boundary=Apple-Mail-7--338348308
From: James Berry
Subject: parameters in URL path segments
Date: Mon, 21 Aug 2006 18:26:34 -0700
X-Mailer: Apple Mail (2.752.2)
X-Virus-Checked: Checked by ClamAV on apache.org
X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N
--Apple-Mail-7--338348308
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed
Guys,
Sorry to open up this subject again. I've just read the mails in this
thread:
http://marc.theaimsgroup.com/?l=tomcat-dev&m=115344110306194&w=2
http://marc.theaimsgroup.com/?l=tomcat-dev&m=115346837428224&w=2
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:
http://example.com/this;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
are
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-
specific
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.
James
--Apple-Mail-7--338348308--