Proposed Network Standard Data Pathname syntax (RFC0615)
Original Publication Date: 1974-Mar-01
Included in the Prior Art Database: 2019-Feb-12
Internet Society Requests For Comment (RFCs)
Network Working Group D. Crocker (UCLA-NMC) Request for Comments: 615 MAR 74 NIC #21531
Proposed Network Standard Data Pathname Syntax
There seems to be an increasing call for a Network Standard Data Pathname (NSDP); that is, a standardized means of referring to a specific location for/of a collection of bits somewhere on the Network.
The reasons for a standard or virtual anything have been discussed, at length, elsewhere and will not be elaborated upon here. Rather than attack the entire issue of virtual pathnames, I wish only to propose a standardized SYNTAX for specifying pathnames. Such a standard will be useful for 1) users who are unfamiliar with a site or who use several different sites and do not want to have to remember each site’s idiosynchracies, 2) programs accessing data at several other sites, and 3) documentation:
The syntax allows the user to specify the necessary network, host, peripheral device, directory, file, type, and site-specific fields. Adding other fields, as needed, is expected to be quite simple.
First the BNF:
<NSDP> ::= % <bulk> <cr><lf> <bulk> ::= <field> / <field> <bulk>
<field> ::= <key> <L-delim> <name> <R-delim>
<key> ::= NETWORK / HOST / PERIPHERAL/ DIRECTORY / FILE / TYPE / SITEPARM / N / H / P / D / F / T / S
<L-delim> ::= any printable character that is not in the succeeding <name> field and that is acceptable to the object site: For visual aesthetics and to facilitate human parsing, anytime <L-delim> is a left-bracket character (<, [, (, _), <R-delim> must be the complementary right-bracket character (>, ], ), |).
<name> ::= any sequence of characters acceptable to the object site. This is the actual data field with the file, directory, device (or whatever) name.
<R-delim> ::= Either 1) the same character as <L-delim> or 2) if the <L-delim> character is a left-bracket character (<, [, (, _) then its complementary right-bracket (>, ], ), |).
<cr> ::= carriage-return
<lf> ::= line-feed
And some elaboration:
The syntax allows <name> fields to be an arbitrary number of rs long. Case is irrelevant to the syntax, though some sites will care about case in <name> fields:
<Key> indicates what part of the pathname the next <name> is going to refer to: The single-character keys are abbreviations for the respective full-word keys:
<Fields> ARE order dependent, but defaulted ones may be omitted. The order is as indicated for <key>s: That is, Network, Host, ..: Siteparm:
Fields may be repeated, as appropriate for the object site; that is, multiple Directory fields, etc:
The validity of any combination of <field>s is entirely site-dependent: For example, if a site will accept it, an NSDP with a Host field, and nothing more, is permissible:
<delim> is used to delimit the beginning and end of the <name> field:
Explanation of <key>s:
NETWORK or N: Currently, only ARPA is defined.
HOST or H: Reference to host, by official name or nickname or number: The default radix is ten; a numeric string ending with "H" indicates...