idnits 2.17.1 draft-ietf-uri-url-irp-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-24) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 232 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Abstract section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 28 instances of too long lines in the document, the longest one being 6 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: '3' is defined on line 191, but no explicit reference was found in the text ** Obsolete normative reference: RFC 1738 (ref. '1') (Obsoleted by RFC 4248, RFC 4266) -- Possible downref: Non-RFC (?) normative reference: ref. '2' -- Possible downref: Non-RFC (?) normative reference: ref. '3' Summary: 11 errors (**), 0 flaws (~~), 3 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 IETF URI Working Group R. Denenberg 2 Internet-Draft J. Kunze 3 draft-ietf-uri-url-irp-04.txt D. Lynch 4 5 February 1996 Editors 5 Expires in six months 7 Uniform Resource Locators for Z39.50 9 1. Status of this Document 11 This document is an Internet-Draft. Internet-Drafts are working documents 12 of the Internet Engineering Task Force (IETF), its Areas, and its Working 13 Groups. Note that other groups may also distribute working documents as 14 Internet-Drafts. 16 Internet-Drafts are working documents valid for a maximum of six months. 17 Internet-Drafts may be updated, replaced, or obsoleted by other documents 18 at any time. It is not appropriate to use Internet-Drafts as reference 19 material or to cite them other than as a ``working draft' or ``work in 20 progress.'' 22 To learn the current status of any Internet-Draft, please check the 23 1id-abstracts.txt listing contained in the Internet-Drafts Shadow 24 Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or 25 munnari.oz.au. 27 Distribution of this document is unlimited. Please send comments to 28 jak@violet.berkeley.edu, or to the discussion lists uri@bunyip.com and 29 z3950iw@nervm.nerdc.ufl.edu. 31 2. Introduction 33 Z39.50 is an information retrieval protocol that does not fit neatly into 34 a retrieval model designed primarily around the stateless fetch of data. 35 Instead, it models a general user inquiry as a session-oriented, multi- 36 step task, any step of which may be suspended temporarily while the 37 server requests additional parameters from the client before continuing. 38 Some, none, or all of these client/server interactions may require 39 participation of the client user, depending only on the client software 40 (the protocol itself makes no such requirements). 42 On the other hand, retrieval of "well-known" data may be performed in 43 a single step, that is, with a degenerate Z39.50 session consisting of 44 exactly one protocol search request and response. Besides the basic 45 search sub-service, there are several ancillary sub-services (e.g., Scan, 46 Result Set Delete). Among the functions covered by combinations of the 47 sub-services, two core functions emerge as appropriately handled by two 48 separate URL schemes: the Session URL and the Retrieval URL. 50 Using two schemes instead of one makes a critical distinction between a 51 Z39.50 Session URL, which opens a client session initialized for 52 interactive use by the user, and a Z39.50 Retrieval URL, which opens and 53 closes a client session to retrieve a specific information item. Making 54 this distinction at the scheme level allows the user interface to reflect 55 it on to the user, without requiring the user interface to parse otherwise 56 opaque parts of the URL (consistent with current practice). 58 3. The Z39.50 Session URL 60 The Z39.50 Session URL may be informally described as providing the 61 mechanism to switch the user to a Z39.50 client application. 63 - Host is required. 64 - Port is optional, and defaults to 210. 65 - All other parameters are optional. 66 - The Z39.50 client will start a session to the specified host/port 67 (alternatively, it need not explicitly start a session, but may 68 instead utilize an already open session to the same host/port). 69 - A database must be included if docid is included. 70 - If docid is included, the client will perform the specified search 71 (in the same manner as for the retrieval URL, specified below). 72 - If docid is not included, and other parameters (besides host/port) 73 are specified, the client may use those parameters as "hints". 74 Various clients may choose to treat them as requirements, or as 75 preferences, or ignore them. 76 - In any case (whether a search is performed or not), the client will 77 leave the Z39.50 session open for the user, to do retrievals, new 78 searches, etc. (This is the main distinction from the Retrieval URL 79 which leaves it up to the client whether or not to keep the Z39.50 80 session open.) 82 4. The Z39.50 Retrieval URL 84 The Z39.50 Retrieval URL is intended to allow a Z39.50 session to be used as 85 a transparent transfer mechanism to retrieve a specific information object. 86 A Z39.50 client uses information in the URL to formulate a Search Request. 87 The server's Search Response indicates how many records match the Request. 88 If the number of matching records does not equal one, the retrieval is 89 considered unsuccessful, and the client application's behavior is not defined. 90 If the number of matching records equals one, the server may have included 91 the desired record in the Search Response. If not, the client requests 92 transmission of the record with a Present Request. After the client has 93 received the specified record it may close the Z39.50 session immediately, 94 or keep it open for subsequent retrievals. 96 - Host is required. 97 - Port is optional, and defaults to 210. 98 - A database is required. 99 - The meaning of a retrieval URL with no docid is undefined. 100 - The docid is placed into a type-1 query, as the single term, in 101 the general format (tag 45), using the Bib-1 attribute set, with 102 a Use attribute value of docid, and a structure attribute of URx. 103 The docid string is server-defined and completely opaque to the client. 104 - If element set name (esn) is not specified, it is the client's choice. 105 If esn is specified, it should be used either in the Search 106 request for the value of small- and/or medium- set-element-set-names 107 or in a Present request following a Search. These terms and their 108 use are defined within the Z39.50 Standard [2]. 109 - If record syntax (rs) is not specified, it is the client's choice. 110 If one or more record syntaxes are specified, the client should select 111 one (preferably the first in the list that it supports) and use it in 112 a Search or Present request as the value of PreferredRecordSyntax. 114 5. BNF for Z39.50 URLs 116 The Z39.50 Session and Retrieval URLs follow the Common Internet Scheme 117 Syntax as defined in RFC 1738, "Uniform Resource Locators (URL)" [1]. 118 In the definition, literals are quoted with "", optional elements 119 are enclosed in [brackets], "|" is used to designate alternatives, 120 and elements may be preceded with * to designate n or more 121 repetitions of the following element; n defaults to 0. 123 z39.50url = zscheme "://" host [":" port] 124 ["/" [database *["+" database] 125 ["?" docid]] 126 [";esn=" elementset] 127 [";rs=" recordsyntax *[ "+" recordsyntax]]] 129 zscheme = "z39.50r" | "z39.50s" 130 database = uchar 131 docid = uchar 132 elementset = uchar 133 recordsyntax = uchar 135 Future extensions to these URLs will be of the form of [;keyword=value]. 137 The following definitions are from RFC 1738. Between the Internet Draft 138 version and RFC 1738 two relevant changes were made: '=' was moved from 139 the character class to , and was removed from 140 the alternatives in . Neither nor is 141 referred to in this document nor in RFC 1738. 143 lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | 144 "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | 145 "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | 146 "y" | "z" 147 hialpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | 148 "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | 149 "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" 151 alpha = lowalpha | hialpha 152 digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | 153 "8" | "9" 154 safe = "$" | "-" | "_" | "." | "+" 155 extra = "!" | "*" | "'" | "(" | ")" | "," 156 national = "{" | "}" | "|" | "\" | "^" | "~" | "[" | "]" | "`" 157 punctuation = "<" | ">" | "#" | "%" | <"> 159 reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" 160 hex = digit | "A" | "B" | "C" | "D" | "E" | "F" | 161 "a" | "b" | "c" | "d" | "e" | "f" 162 escape = "%" hex hex 163 unreserved = alpha | digit | safe | extra 164 uchar = unreserved | escape 165 xchar = unreserved | reserved | escape 166 digits = 1*digit 168 6. Security Considerations 170 The two Z39.50 URL schemes are subject to the same security implications 171 as the general URL scheme [1], so the usual precautions apply. This means, 172 for example, that a locator might no longer point to the object that was 173 originally intended. It also means that it may be possible to construct 174 a URL so that an attempt to perform a harmless idempotent operation such 175 as the retrieval of an object will in fact cause a possibly damaging 176 remote operation to occur. 178 7. Acknowledgements 180 The Z39.50 Implementors Group contributed the substance of this document. 182 8. References 184 [1] Berners-Lee, T., Masinter, L., McCahill, M. (editors), "Uniform 185 Resource Locators (URL)", RFC 1738, December 1994. 186 ftp://ds.internic.net/rfc/rfc1738.txt 188 [2] ANSI/NISO Z39.50-1994, "ANSI Z39.50: Information Retrieval Service 189 and Protocol", 1994. ftp://ftp.loc.gov/pub/z3950/ 191 [3] ANSI/NISO Z39.50-1992, "ANSI Z39.50: Information Retrieval Service 192 and Protocol", 1992. 193 ftp://ftp.cni.org/pub/NISO/docs/Z39.50-1992/www/Z39.50.toc.html 194 (also available in hard copy from Omnicom Information Service, 195 115 Park St., SE, Vienna, VA 22180). 197 7. Editors' Addresses 199 Ray Denenberg 200 Library of Congress 201 Collections Services 202 Network Development/MSO 203 Washington DC 20540 204 ray@rden.loc.gov 205 Voice: (202) 707-5795 206 Fax: (202) 707-0115 208 John A. Kunze 209 Center for Knowledge Management 210 University of California, San Francisco 211 530 Parnassus Ave, Box 0840 212 San Francisco, CA 94143-0840 213 jak@ckm.ucsf.edu 214 Voice: (415) 502-6660 215 Fax: (415) 476-4653 217 Denis Lynch 218 TRW Business Intelligence Systems 219 1329 Moffet Park Drive 220 Sunnyvale, CA 94089 221 dml@bis.trw.com 222 Voice: (408) 541-6418 223 Fax: (408) 541-6401