Re: file:// scheme processing makes invalid assumption

Chris Beall wrote:

>Amaya 8.8.4, Windows 98 SE
>
>Scenario:
>
>Open Amaya.  On the 'Open' line, type file://A:/quicktest.html. Press Enter.
>
>Results:
> The Open line is changed to "c:\A:\quicktest.html".  This is incorrect for
>2 reasons:
>  1. Amaya has ADDED a disk ID to the front of the URL, for no reason.
>  2. Amaya has assumed that the disk ID should be "c:", which is wrong,
>since the user specified A:.
>
> Because the URL is invalid, Amaya starts an empty page.  (Why does it not
>return a 404 error?)
>  
>

So far your ideas match with mine.

>I believe a correct implementation would internally strip the 'file://' from
>the line (leaving it unchanged on the 'Open' line), and pass the remainder
>to the OS.  In the event the OS cannot find the file, an internal 404-error
>page would be displayed.
>  
>

This part, I disagree: In general an url or uri is describes as 
something like:
<protocol>://[<uid>[:<passwd>]@<host>[.<domain>]/[<path>/][<filespec>]

For example:
http://machine.domain/virtual/path/to/file.html
ftp://username@ftpserver/path/to/file (or even 
ftp://username:password@ftp.server/path/to/file ...)
mailto://www-amaya@w3.org/

And for file: I have seen several implementations, where I prefer the 
netscape/mozilla/firefox one (the oldes I know of): 
"file:///A:/quicktest.html" since it is the most close to the standard I 
know of.

btw: at my site, amaya changes the url to "h:\A:\quicktest.html" where 
H: is my homedrive. Hence, Amaya does it even worse: with file: it 
expects file: to be on the home location. Following the guidelines I 
present above (not mine, I also got them from experience and other 
sources), file://localhost/A:/quicktest.html is changed to 
h:\localhost\A:\quicktest.html. Here it is even worse: the hostname 
becomes part of the file specification...

For Amaya, as an example implementation from a standards organisation: 
If there is an url or uri standard, please follow it: If the file is 
specified by an url or uri, keep it in place and use it as standardized. 
If the file is specified as a local file specification, use that and 
keep that.

To complete: the url/uri representation of the windows share 
"\\machinename\sharename\path\to\file.htm" is 
"smb://machinename/sharename/path/to/file.htm". Here it would be nice if 
the username can also be specified: 
"smb://username@machinename/sharename/path/to/file.htm" or even  
"smb://username.domainname@machinename.domainname/sharename/path/to/file.htm"

For the amaya team: I can imagine the file-handling routines are 
obtained from a library or otherwise code from an 3rd party. If so, 
pleas propagate the above to their development teams, pointing to 
standards where apropriate.


Regards

CBee

Received on Wednesday, 22 February 2006 12:06:38 UTC