- From: Michael B. Allen <miallen@eskimo.com>
- Date: Mon, 7 Oct 2002 15:07:14 -0400
- To: ietf-http-wg@w3.org
I've been working with a guy doing an SMB URL IETF draft because my client
uses it. SMB is MS's file and printer sharing protocol (e.g. net use, Map
network drive ...). I have a problem and I was hoping your experience with
HTTP URLs might help us.
We want to use a URL like 'smb://' to denote the top of the network which
would be used exclusively to list workgroups. Listing 'smb://WORKGROUP/'
will list all servers that are members of that workgroup. Other than that
these SMB URLs are like most others:
smb://miallen@server/share/path/to/file.doc
My problem is that my Java client uses the standard java.net.URL class to
parse URLs which parses everything ok except for these top level 'smb://'
URLs and URLs composed from 'smb://' as a context URL and a relative path.
For example:
smb:// --> smb:
smb:// + WORKGROUP/ --> smb:/WORKGROUP/
smb:// + //WORKGROUP/ --> smb://WORKGROUP/
smb://// --> smb://
You can see that this breaks our current model a bit. If a user creates a
URL with 'smb://' the various java.net.URL.getXxx methods return:
authority:
file:
host:
port: 139
path:
query: null
ref: null
userinfo: null
externalform: smb:
string: smb:
I can override the arguments so that passing 'WORKGROUP/' is substituted
with '//WORKGROUP/' before passing it to the default parser. That works ok,
and makes sense. I can trap the 'smb://' case and pass 'smb:////' too but
this gives:
authority:
file: //
host:
port: 139
path: //
query: null
ref: null
userinfo: null
externalform: smb://
string: smb://
As you can see this hack makes the file and path '//' which makes less
sense to me. Does this behavior agree with RFC 2396? I find it hard to
believe Sun got it wrong. If java.net.URL is right then what should proper
semantics be for a URL like this?
Any help would be greatly appreciated,
Mike
--
A program should be written to model the concepts of the task it
performs rather than the physical world or a process because this
maximizes the potential for it to be applied to tasks that are
conceptually similar and, more important, to tasks that have not
yet been conceived.
Received on Monday, 7 October 2002 15:03:49 UTC