Re: WebDAV, URL encoding and current Windows clients

Frank Lowney wrote:
> I am caught in the middle of a "he said - she said" kind of discussion 
> about what constitutes a valid URI/URL for WebDAV and am posting here in 
> the hope of getting an authoritative answer as to which statement is 
> truer: use "+" or use "%20"  Here's the story:
> 
> There is a Learning Management System called WebCT Vista.  It uses an 
> Oracle DB back end and a java-based webserver called "WebLogic" from a 
> company called BEA.  The problem at hand is confined to Windows 
> clients.  Mac clients seems to work as well with this system as they do 
> with Apache and WebSTAR V,  The way WebCT Vista enables the use of 
> WebDAV is that it generates a URI that the client copies and pastes into 
> a WebDAV client application.  Here's an example:
> 
> http://vista.gsu.edu:8000/webct/webdav/131.96.160.58-1044482159055-3283261001.flowney/University+System+of+Georgia/Georgia+College+and+State+University/Documentation/Vista+3.0+Documentation/Vista+3.0+Dox.01/Section+Content
> 
> WebCT Vista puts a "+" char in place of those spaces but this causes 
> Windows clients to gag and report that "The folder you are trying to 
> access is invalid" or words to that effect.  Microsoft has published 
> work around strategies for this (see below the dotted line). This 
> problem manifests itself only where there are spaces in the path and 
> only with the more recent Microsoft clients.  Older clients don't seem 
> to be bothered by this.
> 
> The engineers at WebCT Inc say that the "+" is kosher citing authorities 
> such as:
> 
>     If you look at this page:
> 
>     http://www.w3.org/International/O-URL-code.html
> 
> 
>     It provides some java classes that does URI encoding.
> 
>     When you get the program running and entered a space, you will get a
>     + in return.
> 
> 
>     If you take a look at the source code, you can find this comment:
> 
> 
>     "The space character ' ' is converted into a plus sign '+'."
> 
> 
> Others suggest that spaces should be encoded as %20 in order to be valid.
> 
> Is this a peculiarity of Java code, an Oracke requirement or just 
> idiosyncratic for WebCT Inc.  More importantly, which encoding strategy 
> is more valid, more robust?
> 
> Has Microsoft gone and broken WebDAV on Windows?

Yes, but in this case it may not be the root of the problem.

It is true that blank spaces must be escaped, but this is usually done 
using "%20". As far I can tell, "+" only has a special meaning within 
the query part.

Details in RFC2396 (<http://greenbytes.de/tech/webdav/rfc2396.html>); 
the W3C is not normative here; in particular not random source code 
samples...

Best regards, Julian


-- 
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760

Received on Thursday, 9 December 2004 20:48:39 UTC