idnits 2.17.1 draft-ietf-uri-url-irp-03.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-03-28) 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 240 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 27 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 192, 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-03.txt D. Lynch 4 1 October 1995 Editors 6 Uniform Resource Locators for Z39.50 8 1. Status of this Document 10 This document is an Internet-Draft. Internet-Drafts are working documents 11 of the Internet Engineering Task Force (IETF), its Areas, and its Working 12 Groups. Note that other groups may also distribute working documents as 13 Internet-Drafts. 15 Internet-Drafts are working documents valid for a maximum of six months. 16 Internet-Drafts may be updated, replaced, or obsoleted by other documents 17 at any time. It is not appropriate to use Internet-Drafts as reference 18 material or to cite them other than as a ``working draft' or ``work in 19 progress.'' 21 To learn the current status of any Internet-Draft, please check the 22 1id-abstracts.txt listing contained in the Internet-Drafts Shadow 23 Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or 24 munnari.oz.au. 26 Distribution of this document is unlimited. Please send comments to 27 jak@violet.berkeley.edu, or to the discussion lists uri@bunyip.com and 28 z3950iw@nervm.nerdc.ufl.edu. 30 2. Introduction 32 Z39.50 is an information retrieval protocol that does not fit neatly into 33 a retrieval model designed primarily around the stateless fetch of data. 34 Instead, it models a general user inquiry as a session-oriented, multi- 35 step task, any step of which may be suspended temporarily while the 36 server requests additional parameters from the client before continuing. 37 Some, none, or all of these client/server interactions may require 38 participation of the client user, depending only on the client software 39 (the protocol itself makes no such requirements). 41 On the other hand, retrieval of "well-known" data may be performed in 42 a single step, that is, with a degenerate Z39.50 session consisting of 43 exactly one protocol search request and response. Besides the basic 44 search sub-service, there are several ancillary sub-services (e.g., Scan, 45 Result Set Delete). Among the functions covered by combinations of the 46 sub-services, two core functions emerge as appropriately handled by two 47 separate URL schemes: the Session URL and the Retrieval URL. 49 Using two schemes instead of one makes a critical distinction between a 50 Z39.50 Session URL, which opens a client session initialized for 51 interactive use by the user, and a Z39.50 Retrieval URL, which opens and 52 closes a client session to retrieve a specific information item. Making 53 this distinction at the scheme level allows the user interface to reflect 54 it on to the user, without requiring the user interface to parse otherwise 55 opaque parts of the URL (consistent with current practice). 57 3. The Z39.50 Session URL 59 The Z39.50 Session URL may be informally described as providing the 60 mechanism to switch the user to a Z39.50 client application. 62 - Host is required. 63 - Port is optional, and defaults to 210. 64 - All other parameters are optional. 65 - The Z39.50 client will start a session to the specified host/port 66 (alternatively, it need not explicitly start a session, but may 67 instead utilize an already open session to the same host/port). 68 - A database must be included if docid is included. 69 - If docid is included, the client will perform the specified search 70 (in the same manner as for the retrieval URL, specified below). 71 - If docid is not included, and other parameters (besides host/port) 72 are specified, the client may use those parameters as "hints". 73 Various clients may choose to treat them as requirements, or as 74 preferences, or ignore them. 75 - In any case (whether a search is performed or not), the client will 76 leave the Z39.50 session open for the user, to do retrievals, new 77 searches, etc. (This is the main distinction from the Retrieval URL 78 which leaves it up to the client whether or not to keep the Z39.50 79 session open)". 81 4. The Z39.50 Retrieval URL 83 The Z39.50 Retrieval URL is intended to allow a Z39.50 session to be used 84 as a transparent transfer mechanism to retrieve a specific information 85 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 90 unsuccessful, and the client application's behavior is not defined. If the 91 number of matching records equals one the server may have included the desired 92 record in the Search Response. If not, the client requests transmission of 93 the record with a Present Request. After the client has received the 94 specified record it may close the Z39.50 session immediately, or keep it 95 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. If 110 one 111 or more record syntaxes are specified, the client should select one 112 (preferably the first in the list that it supports) and use it in 113 a Search or Present request as the value of PreferredRecordSyntax. 115 5. BNF for Z39.50 URLs 117 The Z39.50 Session and Retrieval URLs follow the Common Internet Scheme 118 Syntax as defined in RFC 1738, "Uniform Resource Locators (URL)" [1]. 119 In the definition, literals are quoted with "", optional elements 120 are enclosed in [brackets], "|" is used to designate alternatives, 121 and elements may be preceded with * to designate n or more 122 repetitions of the following element; n defaults to 0. 124 z39.50url = zscheme "://" host [":" port] 125 ["/" [database *["+" database] 126 ["?" docid]] 127 [";esn=" elementset] 128 [";rs=" recordsyntax *[ "+" recordsyntax]]] 130 zscheme = "z39.50r" | "z39.50s" 131 database = uchar 132 docid = uchar 133 elementset = uchar 134 recordsyntax = uchar 136 Future extensions to these URLs will be of the form of [;keyword=value]. 138 The following definitions are from RFC 1738. Between the Internet Draft 139 version and RFC 1738 two relevant changes were made: '=' was moved from 140 the character class to , and was removed from 141 the alternatives in . Neither nor is 142 referred to in this document nor in RFC 1738. 144 lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | 145 "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | 146 "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | 147 "y" | "z" 148 hialpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | 149 "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | 150 "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" 152 alpha = lowalpha | hialpha 153 digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | 154 "8" | "9" 155 safe = "$" | "-" | "_" | "." | "+" 156 extra = "!" | "*" | "'" | "(" | ")" | "," 157 national = "{" | "}" | "|" | "\" | "^" | "~" | "[" | "]" | "`" 158 punctuation = "<" | ">" | "#" | "%" | <"> 160 reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" 161 hex = digit | "A" | "B" | "C" | "D" | "E" | "F" | 162 "a" | "b" | "c" | "d" | "e" | "f" 163 escape = "%" hex hex 164 unreserved = alpha | digit | safe | extra 165 uchar = unreserved | escape 166 xchar = unreserved | reserved | escape 167 digits = 1*digit 169 6. Security Considerations 171 The two Z39.50 URL schemes are subject to the same security implications 172 as the general URL scheme [1], so the usual precautions apply. This means, 173 for example, that a locator might no longer point to the object that was 174 originally intended. It also means that it may be possible to construct 175 a URL so that an attempt to perform a harmless idempotent operation such 176 as the retrieval of an object will in fact cause a possibly damaging 177 remote operation to occur. 179 7. Acknowledgements 181 The Z39.50 Implementors Group contributed the substance of this document. 183 8. References 185 [1] Berners-Lee, T., Masinter, L., McCahill, M. (editors), "Uniform 186 Resource Locators (URL)", RFC 1738, December 1994. 187 ftp://ds.internic.net/rfc/rfc1738.txt 189 [2] ANSI/NISO Z39.50-1994, "ANSI Z39.50: Information Retrieval Service 190 and Protocol", 1994. ftp://ftp.loc.gov/pub/z3950/ 192 [3] ANSI/NISO Z39.50-1992, "ANSI Z39.50: Information Retrieval Service 193 and Protocol", 1992. 194 ftp://ftp.cni.org/pub/NISO/docs/Z39.50-1992/www/Z39.50.toc.html 195 (also available in hard copy from Omnicom Information Service, 196 115 Park St., SE, Vienna, VA 22180). 198 7. Editors' Addresses 200 Ray Denenberg 201 Library of Congress 202 Collections Services 203 Network Development/MSO 204 Washington DC 20540 205 ray@rden.loc.gov 206 Voice: (202) 707-5795 207 Fax: (202) 707-0115 209 John A. Kunze 210 Information Systems and Technology 211 University of California at Berkeley 212 293 Evans Hall 213 Berkeley, CA 94720 214 jak@violet.berkeley.edu 215 Voice: (510) 642-1530 216 Fax: (510) 643-5385 218 Denis Lynch 219 TRW Business Intelligence Systems 220 1329 Moffet Park Drive 221 Sunnyvale, CA 94089 222 dml@bis.trw.com 223 Voice: (408) 541-6418 224 Fax: (408) 541-6401