Re: Thoughts on relation to WebDAV

Julian Reschke wrote:
> 
> So, you expect "%80" to work (meaning, be stored and roundtripped) with 
> any compliant server?
> 
> Well, then the set of compliant servers just got much smaller :-)
>

> Well, only using lower case ASCII is something that's not sufficient 
> once you leave the experimental space. Users expect that they can assign 
> names in their own languages.
>
I know that the situation is not satisfying at all. But even with 
servers that can handle any character from any character-set: if users 
access the same WebDAV-repository with clients that run on different 
operating systems with different default character sets they will be 
disappointed, unless they learn to restrict characters in file names to 
a secure set. This is an operating system issue.
Happily, things are getting better with increasing use of utf-8. But as 
long as clients want to map URLs into local file-system names, there 
will stay the problem of different sets of characters with special 
meaning in the context of file-systems. The spec could help with a list 
of characters that client implementations should reject when entered by 
the user.

Servers that rely for storing pathnames from URLs as file names on their 
local file system will have trouble to get really compliant, especially 
when the local file system can not distinguish cases. But of course, 
they could store pathnames in a different way, without loss, and 
maintain a mapping to the stored resources.

My estimation is less than 10% of compliant WebDAV-servers (but there 
are many servers, I did not test). Unluckily, this number seems to 
decrease with every new server. (My suspicion: beginners courses in 
programming have replaced the "Hello World"-exercise with 
"WebDAV-server".) Here is the latest real-world example, I had to deal 
with on the Help-forum, just to give an impression what clients have to 
fight with. It are not the highly sophisticated border cases. Please 
look at Date, Last-Modified and the status code returned on PUT:

GET /test.txt HTTP/1.1
Host: example.com
User-Agent: davfs2/1.3.1 neon/0.26.3

HTTP/1.1 200 OK
Date: Mon, 19 May 2008 22:03:34 GMT
Server: Cpanel::Httpd like Apache
Content-Length: 0
Last-Modified: Mon, 19 May 2008 21:59:07 GMT


HEAD /test.txt HTTP/1.1
Host: example.com
User-Agent: davfs2/1.3.1 neon/0.26.3

HTTP/1.1 200 OK
Date: Mon, 19 May 2008 22:03:45 GMT
Server: Cpanel::Httpd like Apache
Content-Length: 0
Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT


PUT /test.txt HTTP/1.1
Host: example.com
User-Agent: davfs2/1.3.1 neon/0.26.3

HTTP/1.1 201 CREATED
Date: Mon, 19 May 2008 22:03:45 GMT
Server: Cpanel::Httpd like Apache
Content-Length: 0


HEAD /test.txt HTTP/1.1
Host: example.com
User-Agent: davfs2/1.3.1 neon/0.26.3

HTTP/1.1 200 OK
Date: Mon, 19 May 2008 22:03:45 GMT
Server: Cpanel::Httpd like Apache
Content-Length: 0
Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT

Werner

Received on Monday, 26 May 2008 16:11:57 UTC