The Distributed Oceanographic Data System (DODS) needs a syntax for names which describe the network location for different resources. There are many other systems which must solve a similar problem. Three different classes of solution to this problem have been implemented in existing systems: (1) The Network File System incorporates remote resources directly into the client computer's file system where they can be referenced as if they were local files, (2) ftp prompts the user for an Internet address and then directs all user actions to that address until it is told to disconnect and (3) World Wide Web (WWW) clients use a string, called a (URL), which combines the protocol, host and pathname. We choose the third approach after dismissing the first two as, respectively, too complex and too rudimentary.
A URL is a generalization of file naming concepts which is already in common use on the Internet. A URL extends the filename/pathname concept used to refer to files on a computer by adding an Internet address and protocol component. A URL specifies the computer and access method (protocol) in addition to the filename and thus can be used to refer to files anywhere on a network. While they are used in various forms by many different systems, URLs, as such, are most closely associated with the WWW project.
DODS chose the URL notation in part because it represents an evolving standard for resource specification on the Internet. Conforming, at least in spirit with this standard, puts DODS in a place to benefit from ongoing work to develop more general network resource names with minimal additional work. Because the existing definitions of resource locators (by both DODS and the WWW) do not adequately address some important issues, compliance with an existing de facto standard increases the chance that DODS will be able to take advantage of emerging solutions to those problems.
In addition, the syntax of DODS URLs must match that used by the WWW because the data delivery design uses the WWW HTTPD server as its base-communication module. While previous designs for the data delivery system outlined the construction of special DODS-only data servers using RPC technology, the most recent design uses NCSA's HTTPD for the communication component of all DODS data servers. Thus, each URL that refers to a data set must match the syntactical requirements of that software (see the documentation on HyperText Transfer Protocol).
The Common Gateway Interface (CGI) mechanism of HTTPD is flexible enough to allow sophisticated specialization of the semantics of WWW URLs without requiring a change in URL syntax. DODS can further restrict the WWW syntax for its URLs through conventions supported by the DODS server tool kit and by forcing all access to take place via the HTTPD's CGI mechanism.