httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fielding, Roy" <>
Subject RE: [inq] short, concise, and to the point
Date Mon, 09 Oct 2000 22:17:30 GMT
> > All locations are case sensitive.  Always.  Regardless of platform.
> I'm very, very unclear here.  What are we defining as a location?
> If a <Location > refers to the URI, and I have a lookup cgi on unix 
> that is handling the /lookup location, and the data is case 
> insensitive, then I may wish to add a block such as:
> <Location /lookup/home-phone>
>   require group management
> </Location>
> The lookup script accepts home-phone, or HOME-PHONE, without 
> complaining.
> I guess I'm asking, why the absolute opposition to accomodating 
> case-netural URI locations for those cases that are affected?
> You maintain that a location is case sensitive, but I'm arguing
> that not every system/namespace is case sensitive.

It doesn't matter -- URL space is case sensitive.  That means the browser
will interpret those as different locations.  That means the server should
be returning a redirect to the true location and not serving pages from
the location as if it were case-insensitive.

Just to make it absolutely clear, if at any time we interpret two
different URLs as being the same resource (where resource != file),
it is a bug for the interpreter not to redirect to the canonical URL
if the interpreter knows what that is.  In some cases, the interpreter
is within a CGI script and out of our control, but that doesn't make
it any less buggy. 

> Perhaps this could be (like regex parsing) a syntax such as 
> <Location ? /uri>
> where ? is a case-insensitive flag.  I am -not- suggesting 
> that Location must always do case-neutral comparison!

Isn't that already provided in the regex versions?
> > What we need is a way for Directory to indicate how the filesystem
> > should be checked, such that case-sensitive filesystems do not suffer
> > from the extra name canonicalization required of case-insensitive
> > filesystems.
> They don't today, do they?  Win32/OS2 lowercases these <Directory >
> block tags and the request name, and uses those canonical names
> for comparison.

Right, that is broken.  It's been on my fix-it list for a year now.

> Agreed that we may have a unix share on an NT server, or an NT volume
> mounted to a unix file system, that messes up everything :-/
> > This has to be part of Directory because of remote mounting.
> Yes - <Directory > is a filesystem tag, and should become smarter
> about which sections are case sensitive vs. insensitive.  I'm simply
> addressing the complaint that <Location > blocks are meaningless on
> Win32/OS2 systems, and have been for 2 years.

I'm +1 for anything that improves the situation, but the best way to
improve it is to always force a canonical name be used.


View raw message