Re: File Type/Directory Annotation for FTP URL Spec

Marshall Rose (mrose@dbc.mtview.ca.us)
Tue, 30 Nov 1993 07:45:50 -0800

To: masinter@parc.xerox.com (Larry Masinter)
Subject: Re: File Type/Directory Annotation for FTP URL Spec
In-Reply-To: Your message of "Mon, 29 Nov 1993 23:56:29 PST."
<93Nov29.235636pst.2732@golden.parc.xerox.com>
Date: Tue, 30 Nov 1993 07:45:50 -0800
Message-Id: <25208.754674350@dbc.mtview.ca.us>
From: Marshall Rose <mrose@dbc.mtview.ca.us>

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <25203.754674349.1@dbc.mtview.ca.us>

[ Forgive me for coming in on this discussion 18 months late. Forgive
me for also sending a rather lengthy note. ]

I guess I'm a little confused that everyone is still discussing the
payload associated with different urls.

As a model, I would suggest people look at the message/external-body
content-type in MIME. This content-type contains two parts, URL-like
information and the content-type of the remotely-stored content.

The syntax of message/external-body is different from the URL syntax. I
am not suggsting you change the URL syntactic rules. But, I do suggest
that see if you can get similar, or perhaps even identical semantics.

Using the ABNF notation of 822, the syntax of a message/external-body
is listed in the attachment below.

For the ftp/anon-ftp access-type:

- the file parameter is mandatory and doesn't include any directory information
- the site parameter is mandatory and is either a domain name or a dotted-quad
- the directory parameters is optional; if present, then the client does
a CWD before the RETR.
- the mode parameter is optional; if absent, then the client uses "TYPE I"
- there are no user/pass information; for anon-ftp, you can derive it,
and for regular ftp, you ask the user

I want to emphasize that I am not suggesting that the URL syntax be
changed to look like the MIME syntax. But, you could probably avoid a
lot of hassles by simply adopting the semantics of the equivalent MIME
external-body access methods...

/mtr

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <25203.754674349.2@dbc.mtview.ca.us>
Content-Description: ABNF for message/external-body

; case-insensitive matching of string-literals
ext-body ::= "message" "/" "external-body" ";" external

; ordering unimportant
external ::= "access-type" "=" type
[";" "expiration" "=" date-time]
[";" "size" "=" 1*DIGIT]
[";" "permission" "=" ("read" / "read-write")]

type ::= ("ftp" / "anon-ftp") name site [dir] [mode]
/ "tftp" name site
/ ("afs" / "local-file") name [site]
/ "mail-server" server subject
/ <"X-" immediately followed by token>

name ::= ";" "name" "=" value
site ::= ";" "site" "=" value
dir ::= ";" "directory" "=" value
mode ::= ";" "mode" "=" value
server ::= ";" "server" "=" value
subject ::= ";" "subject" "=" value

------- =_aaaaaaaaaa0--