# I-D proposing new Z39.50 URL

John A. Kunze (jak@nlm.nih.gov)
Wed, 23 Nov 1994 17:00:42 +0500

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Roy T. Fielding: "Re: I-D proposing new Z39.50 URL"
- Previous message: Mic Bowman: "Re: AFS URLs or Why Not File?"
- Next in thread: Roy T. Fielding: "Re: I-D proposing new Z39.50 URL"
- Reply: Roy T. Fielding: "Re: I-D proposing new Z39.50 URL"
- Maybe reply: John A. Kunze: "Re: I-D proposing new Z39.50 URL"
- Maybe reply: Terry Winograd: "Re: I-D proposing new Z39.50 URL"
- Maybe reply: John A. Kunze: "Re: I-D proposing new Z39.50 URL"

    Date: Wed, 23 Nov 1994 17:00:42 +0500

    From: jak@nlm.nih.gov (John A. Kunze)

    Message-Id: <9411232200.AA03304@dot.csb>

    To: uri@bunyip.com, z3950iw@nervm.nerdc.ufl.edu

    Subject: I-D proposing new Z39.50 URL

IETF URI Working Group R. Denenberg
Internet-Draft J. Kunze
Category: Informational B. McLean
22 November 1994 Editors

Uniform Resource Locators for Z39.50

1. Status of this Document

This document is an Internet-Draft. Internet-Drafts are working documents
of the Internet Engineering Task Force (IETF), its Areas, and its Working
Groups. Note that other groups may also distribute working documents as
Internet-Drafts.

Internet-Drafts are working documents valid for a maximum of six months.
Internet-Drafts may be updated, replaced, or obsoleted by other documents
at any time. It is not appropriate to use Internet-Drafts as reference
material or to cite them other than as a ``working draft' or ``work in
progress.''

To learn the current status of any Internet-Draft, please check the
1id-abstracts.txt listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or
munnari.oz.au.

Distribution of this document is unlimited. Please send comments to
jak@violet.berkeley.edu, or to the discussion lists uri@bunyip.com and
z3950iw@nervm.nerdc.ufl.edu.

2. Introduction

Z39.50 is an information retrieval protocol that does not fit neatly into
a retrieval model designed primarily around the stateless fetch of data.
Instead, it models a general user inquery as a session-oriented, multi-
step task, any step of which may be suspended temporarily while the
server requests additional parameters from the client before continuing.
Some, none, or all of these client/server interactions may require
participation of the client user, depending only on the client software
(the protocol itself make no such requirements).

On the other hand, retrieval of "well-known" data may be performed in
a single step, that is, with a degenerate Z39.50 session consisting of
exactly one protocol search request and response. Besides the basic
search sub-service, there are several ancillary sub-services (e.g., Scan,
Result Set Delete). Among the functions covered by combinations of the
sub-services, two core functions emerge as appropriately handled by two
separate URL schemes: the Session URL and the Retrieval URL.

Using two schemes instead of one makes a critical distinction between
a Z39.50 Session URL, which opens a client session -- leaving the user
to close it -- and a Z39.50 Retrieval URL, which opens and closes a client
session, then displays any retrieved results. Making this distinction at
the scheme level allows the user interface to reflect it on to the user,
but without actually requiring the user display formatter to parse
otherwise opaque parts of the URL (consistent with current practice).

3. The Z39.50 Session URL

The Z39.50 Session and Retrieval URLs follow the Common Internet Scheme
Syntax as defined in RFC ???, "Uniform Resource Locators (URL)" [1].
The specific syntax for the Session URL is:

z39.50s://host[:port]
[/database[+database...]
[?docid
[&esn=elementset]
[&rs=recordsyntax[+recordsyntax...]]]]

This may be informally described as providing the mechanism to switch
the user of the browser to a window in which a Z39.50 client is running.

- Host is required.
- Port is optional, and defaults to 210.
- All other parameters are optional, however, if docid is present,
then database must be present.
- The Z39.50 client will start a session to the specified host/port
(alternatively, it need not explicitly start a session, but may
instead utilize an already open session to the same host/port).
- If docid is included, the client will perform the specified search
(in the same manner as for the retrieval URL, specified below).
- If docid is not included, and other parameters (besides host/port)
are specified, the client may use those parameters as "hints".
Various clients may choose to treat them as requirements, or as
preferences, or ignore them.
- In any case (whether a search is performed or not), the client will
leave the Z39.50 session open for the user, to do retrievals, new
searches, etc. This is the main distinction from the z39.50r URL.

4. The Z39.50 Retrieval URL

The specific syntax for the Retrieval URL is:

z39.50r://host[:port]
[/database[+database...]
[?docid
[&esn=elementset]
[&rs=recordsyntax[+recordsyntax...]]]]

The model is designed for minimal interaction by the user with the Z39.50
session to be used as a transparent transfer mechanism if possible. The
result of processing this URL should be a Result Set, which the client is
responsible for returning to the user's browser in an appropriate form
(e.g., HTML).

- Host, database, and docid are required.
- The docid is server-defined and otherwise opaque.
- Port is optional, and defaults to 210.
- If element set name (esn) is not specified, it is client's choice.
If esn is specified, it should be used within the Search request for
the value of small- and/or medium- set-element-set-names. These
terms and their use are defined within the Z39.50 Standard [2].
- If record syntax (rs) is not specified, it is client's choice.
If one or more record syntaxes are specified, the client should
select one (preferably the first in the list that it supports) and
use it within the Search request as the value of PreferredRecordSyntax.
- The docid is placed into a type-1 query, as the single term, in
the general format (tag 45), using the Bib-1 attribute set, with
a Use attribute value of docid, and a structure attribute of URX.
The docid string is completely opaque to the client.

Future extension to these URLs will be of the form of [&keyword=value].

5. Acknowledgements

The Z39.50 Implementors Group contributed the substance of this document.

6. References

[1] Berners-Lee, T., Masinter, L., McCahill, M. (editors), "Uniform
Resource Locators (URL)", soon to be RFC ???, October 1994.
ftp://ds.internic.net/internet-drafts/draft-ietf-uri-url-09.txt

[2] ANSI/NISO Z39.50-1992, "ANSI Z39.50: Information Retrieval Service
and Protocol", Version 2, 1992, available from Omnicom Information
Service, 115 Park St., SE, Vienna, VA 22180.

- Next message: Roy T. Fielding: "Re: I-D proposing new Z39.50 URL"
- Previous message: Mic Bowman: "Re: AFS URLs or Why Not File?"
- Next in thread: Roy T. Fielding: "Re: I-D proposing new Z39.50 URL"
- Reply: Roy T. Fielding: "Re: I-D proposing new Z39.50 URL"
- Maybe reply: John A. Kunze: "Re: I-D proposing new Z39.50 URL"
- Maybe reply: Terry Winograd: "Re: I-D proposing new Z39.50 URL"
- Maybe reply: John A. Kunze: "Re: I-D proposing new Z39.50 URL"