Internet Printing Protocol Working Group Bob Herriot INTERNET DRAFT Xerox Expires 11 July 2001 Ira McDonald High North [Target Category: Standards Track] 11 January 2001 Internet Printing Protocol (IPP): IPP URL Scheme Copyright (C) The Internet Society (2001). All Rights Reserved. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." To view the list of Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract This document is a product of the Internet Printing Protocol Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the ipp@pwg.org mailing list. The open issues in this document each begin 'ISSUE_n:'. This document specifies the "ipp" URL (Uniform Resource Locator) scheme for specifying the location of an IPP Printer which implements IPP/1.0 [RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any later version of IPP. This document is intended for use in registering the "ipp" URL scheme with IANA and fully conforms to the requirements in [RFC-2717]. The IPP URL scheme defined in this document is based on the ABNF for the basic hierarchical URL syntax in [RFC-2396]; however relative URL forms, parameters, and/or query parts are NOT allowed in an IPP URL. The IPP URL scheme is case-insensitive in the host name or host address part; however the path part is case-sensitive, as in [RFC-2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the mechanism defined in [RFC-2396]. Herriot, McDonald Expires 11 July 2001 [Page 1] Internet Draft IPP URL Scheme 11 January 2001 Table of Contents 1. Introduction ............................................... 3 2. Terminology ................................................ 4 2.1. Conformance Terminology ................................ 4 2.2. Model Terminology ...................................... 4 3. IPP Model for Printers and Jobs ............................ 4 4. IPP URL Scheme ............................................. 5 4.1. IPP URL Scheme Applicability and Intended Usage ........ 5 4.2. IPP URL Scheme Associated IPP Port ..................... 5 4.3. IPP URL Scheme Associated MIME Type .................... 5 4.4. IPP URL Scheme Syntax in ABNF .......................... 6 4.5. IPP URL Scheme Character Encoding ...................... 7 5. Conformance Requirements ................................... 8 5.1. Conformance Requirements for IPP Clients ............... 8 5.2. Conformance Requirements for IPP Printers .............. 8 6. IANA Considerations ........................................ 9 7. Internationalization Considerations ........................ 9 8. Security Considerations .................................... 9 9. References ................................................. 10 10. Acknowledgments ........................................... 11 11. Authors' Addresses ........................................ 12 12. Appendix A - Registration of IPP Port ..................... 13 13. Appendix B - Registration of MIME "application/ipp" ....... 13 14. Appendix C - Change History ............................... 15 15. Full Copyright Statement .................................. 15 Herriot, McDonald Expires 11 July 2001 [Page 2] Internet Draft IPP URL Scheme 11 January 2001 1. Introduction See section 1 'Introduction' in [RFC-2911] for a full description of the IPP document set and overview information about IPP. This document is a product of the Internet Printing Protocol Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the ipp@pwg.org mailing list. The open issues in this document each begin 'ISSUE_n:'. This document specifies the "ipp" URL (Uniform Resource Locator) scheme for specifying the location of an IPP Printer which implements IPP/1.0 [RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any later version of IPP. This document is intended for use in registering the "ipp" URL scheme with IANA and fully conforms to the requirements in [RFC-2717]. This document defines: - IPP URL scheme applicability and intended usage; - IPP URL scheme associated MIME type (i.e., "application/ipp"); - IPP URL scheme syntax in ABNF [RFC-2234]; - IPP URL scheme character encoding; - IPP URL scheme IANA, internationalization, and security considerations. This document is laid out as follows: - Section 2 is the terminology used throughout the document. - Section 3 provides references to the IPP Printer and IPP Job object model. - Section 4 specifies IPP URL scheme. - Section 5 specifies the conformance requirements for IPP Clients and IPP Printers that claim conformance to this document. - Section 6, 7, and 8 specify IANA, internationalization, and security considerations. - Sections 9, 10, 11, 12, and 13 list references, acknowledgements, authors' addresses, change history, and full IETF copyright statement. Herriot, McDonald Expires 11 July 2001 [Page 3] Internet Draft IPP URL Scheme 11 January 2001 2. Terminology This specification document uses the terminology defined in this section. 2.1. Conformance Terminology The uppercase terms "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT" "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC-2119]. These terms are used to specify conformance requirements for all implementations of this specification. 2.2. Model Terminology See section 12.2 'Model Terminology' in [RFC-2911]. 3. IPP Model for Printers and Jobs See section 2 'IPP Objects', section 2.1 'Printer Object', and section 2.2 'Job Object' in [RFC-2911] for a full description of the IPP object model and terminology. Herriot, McDonald Expires 11 July 2001 [Page 4] Internet Draft IPP URL Scheme 11 January 2001 4. IPP URL Scheme 4.1. IPP URL Scheme Applicability and Intended Usage In this document, "IPP Client" means the software (on some hardware platform) that submits, monitors, and/or manages print jobs via IPP/1.0 [RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any later version of IPP to a spooler, gateway, or actual printing device. In this document, "IPP Printer" means the software (on some hardware platform) that receives print jobs and/or job operations via IPP/1.0 [RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any later version of IPP from an "IPP Client". The "IPP Printer" is identified via an IPP URL. This IPP URL MUST NOT contain any parameters or query part. The IPP URL scheme defined in this document is based on the ABNF for the basic hierarchical URL syntax in [RFC-2396]; however relative URL forms, parameters, and/or query parts are NOT allowed in an IPP URL. The IPP URL scheme is case-insensitive in the host name or host address part; however the path part is case-sensitive, as in [RFC-2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the mechanism defined in [RFC-2396]. 4.2. IPP URL Scheme Associated IPP Port All IPP URLs which do NOT explicitly specify a port MUST be used over IANA-assigned port 631 for the IPP protocol described in [RFC-2910]. See: Appendix A in this document which updates the existing IPP port registration with IANA. 4.3. IPP URL Scheme Associated MIME Type All IPP protocol operations (requests and responses) MUST be conveyed in an 'application/ipp' MIME media type as registered in [IANA-MIMEREG]. IPP URLs MUST refer to IPP Printers which support this 'application/ipp' MIME media type. See: Appendix B in this document. Herriot, McDonald Expires 11 July 2001 [Page 5] Internet Draft IPP URL Scheme 11 January 2001 4.4. IPP URL Scheme Syntax in ABNF The "ipp" URL scheme syntax is formally specified below in ABNF [RFC-2234]. This URL syntax is derived from [RFC-2396], [RFC-2732], and [RFC-2373]. ; note - parameters are NOT allowed on IPP URLs ; note - query part is NOT allowed on IPP URLs ippURI = "ipp://" hostport [ path ] hostport = host [ ":" port ] host = hostname | IPv4address | IPv6reference hostname = *( domainlabel "." ) toplabel [ "." ] domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum toplabel = alpha | alpha *( alphanum | "-" ) alphanum port = *digit ; note - IPv6 support is added here ; see RFC 2732 and RFC 2373 which update RFC 2396 IPv6reference = "[" IPv6address "]" IPv6address = hexpart [ ":" IPv4address ] IPv4address = 1*3digit "." 1*3digit "." 1*3digit "." 1*3digit hexpart = hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ] hexseq = hex4 *( ":" hex4) hex4 = 1*4hex path = "/" segments segments = segment *( "/" segment ) ; note - parameters are NOT allowed on IPP URLs ; see RFC 2396 which does allow parameters segment = *segchar segchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | "," ; note - "[" and "]" are ADDED to 'reserved' for IPv6 ; see RFC 2732 and RFC 2373 which update RFC 2396 reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," | "[" | "]" unreserved = alphanum | mark mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" escaped = "%" hex hex hex = digit | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" alphanum = alpha | digit Herriot, McDonald Expires 11 July 2001 [Page 6] Internet Draft IPP URL Scheme 11 January 2001 alpha = lowalpha | upalpha lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" upalpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" 4.5. IPP URL Scheme Character Encoding The IPP URL scheme defined in this document is based on the ABNF for the basic hierarchical URL syntax in [RFC-2396]; however relative URL forms, parameters, and/or query parts are NOT allowed in an IPP URL. The IPP URL scheme is case-insensitive in the host name or host address part; however the path part is case-sensitive, as in [RFC-2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the mechanism defined in [RFC-2396]. Herriot, McDonald Expires 11 July 2001 [Page 7] Internet Draft IPP URL Scheme 11 January 2001 5. Conformance Requirements 5.1. Conformance Requirements for IPP Clients IPP Clients that conform to this specification: a) MUST send valid IPP Jobs on port 631 (IANA-assigned default port for IPP) when contacting IPP Printers via IPP URLs that do NOT specify an explicit port; b) MUST NOT send otherwise valid IPP Jobs on any port other than 631 (IANA-assigned default port for IPP) when contacting IPP Printers via IPP URLs that do NOT specify an explicit port; c) MUST conform to the ABNF for IPP URLs specified in section 4.4 of this document. 5.2. Conformance Requirements for IPP Printers IPP Printers that conform to this specification: a) MUST accept valid IPP Jobs on port 631 (IANA-assigned default port for IPP) from IPP Clients that follow required client authentication and security mechanisms; b) MUST reject otherwise valid IPP Jobs on any port other than 631 (IANA-assigned default port for IPP) from IPP Clients that follow required client authentication and security mechanisms, unless explicitly configured by system administrators or site policies (e.g., 'trap doors' on port 80 are prohibited); c) MUST reject received IPP URLs (e.g. in the "printer-uri" operation attribute in 'Print-Job') that do not conform to the ABNF for IPP URLs specified in section 4.4 of this document. Herriot, McDonald Expires 11 July 2001 [Page 8] Internet Draft IPP URL Scheme 11 January 2001 6. IANA Considerations This IPP URL Scheme specification does not introduce any additional IANA considerations, beyond those described in [RFC-2910] and [RFC-2911]. See: Section 6 'IANA Considerations' in [RFC-2910] See: Section 6 'IANA Considerations' in [RFC-2911]. 7. Internationalization Considerations This IPP URL Scheme specification does not introduce any additional internationalization considerations, beyond those described in [RFC-2910] and [RFC-2911]. See: Section 7 'Internationalization Considerations' in [RFC-2910]. See: Section 7 'Internationalization Considerations' in [RFC-2911]. 8. Security Considerations This IPP URL Scheme specification does not introduce any additional security considerations, beyond those described in [RFC-2910] and [RFC-2911]. See: Section 8 'Security Considerations' in [RFC-2910]. See: Section 8 'Security Considerations' in [RFC-2911]. Herriot, McDonald Expires 11 July 2001 [Page 9] Internet Draft IPP URL Scheme 11 January 2001 9. References See: Section 10 'References' in [RFC-2910]. See: Section 9 'References' in [RFC-2911]. [IANA-CHARREG] IANA Charset Registry. ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets [IANA-MIMEREG] IANA MIME Media Types Registry. ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/... [NET-SSL3] Netscape. The SSL Protocol, Version 3 (text version 3.02), November 1996. [RFC-1759] R. Smith, F. Wright, T. Hastings, S. Zilles, J. Gyllenskog. Printer MIB, RFC 1759, March 1995. [RFC-1766] H. Alvestrand. Tags for the Identification of Languages, RFC 1766, March 1995. [RFC-2046] N. Freed, N. Borenstein. MIME Part Two: Media Types, RFC 2046, November 1996. [RFC-2048] N. Freed, J. Klensin, J. Postel. MIME Part Four: Registration Procedures, RFC 2048, November 1996. [RFC-2234] D. Crocker, P. Overell. Augmented BNF for Syntax Specifications: ABNF, RFC 2234, November 1997. [RFC-2373] R. Hinden, S. Deering. IP Version 6 Addressing Architecture, RFC 2373, July 1998. [RFC-2396] T. Berners-Lee, R. Fielding, L. Masinter. Uniform Resource Identifiers (URI): Generic Syntax, RFC 2396, August 1998. [RFC-2246] T. Dierks, C. Allen. The TLS Protocol Version, RFC 2246, January 1999. [RFC-2277] H. Alvestrand. IETF Policy on Character Sets and Languages, RFC 2277, January 1998. [RFC-2279] F. Yergeau. UTF-8, a Transformation Format of ISO 10646, RFC 2279, January 1998. [RFC-2565] R. Herriot, S. Butler, P. Moore, R. Turner. IPP/1.0 Encoding and Transport, RFC 2565, April 1999. [RFC-2566] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell. IPP/1.0 Model and Semantics, RFC 2566, April 1999. Herriot, McDonald Expires 11 July 2001 [Page 10] Internet Draft IPP URL Scheme 11 January 2001 [RFC-2579] K. McCloghrie, D. Perkins, J. Schoenwaelder. Textual Conventions for SMIv2, RFC 2579, April 1999. [RFC-2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. Hypertext Transfer Protocol -- HTTP/1.1, RFC 2616, June 1999. [RFC-2617] J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, L. Stewart. HTTP Authentication: Basic and Digest Access Authentication, RFC 2617, June 1999. [RFC-2717] R. Petke, I. King. Registration Procedures for URL Scheme Names, RFC 2717, November 1999. [RFC-2718] L. Masinter, H. Alvestrand, D. Zigmond, R. Petke. Guidelines for new URL Scheme Names, RFC 2718, November 1999. [RFC-2732] R. Hinden,B. Carpenter, L. Masinter. Format for Literal IPv6 Addresses in URL's, RFC 2732, December 1999. [RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn. IPP/1.1 Encoding and Transport, RFC 2910, September 2000. [RFC-2911] T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell. IPP/1.1 Model and Semantics, RFC 2911, September 2000. [RFC-2978] N. Freed, J. Postel. IANA Charset Registration Procedures, RFC 2978, October 2000. [US-ASCII] Coded Character Set -- 7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. 10. Acknowledgments This document is a product of the Internet Printing Protocol Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the ipp@pwg.org mailing list. Thanks to Pat Fleming (IBM), Tom Hastings (Xerox), Harry Lewis (IBM), and Hugo Parra (Novell). Section 5 'IPP URL Scheme' in IPP/1.1 Encoding and Transport [RFC-2910] was the primary input to this IPP URL Scheme specification. Herriot, McDonald Expires 11 July 2001 [Page 11] Internet Draft IPP URL Scheme 11 January 2001 11. Authors' Addresses Robert Herriot Xerox Corp 3400 Hill View Ave, Building 1 Palo Alto, CA 94304 Phone: +1 650-813-7696 Fax: +1 650-813-6860 Email: robert.herriot@pahv.xerox.com Ira McDonald High North Inc 221 Ridge Ave Grand Marais, MI 49839 Phone: +1 906-494-2434 Email: imcdonald@crt.xerox.com Email: imcdonald@sharplabs.com Herriot, McDonald Expires 11 July 2001 [Page 12] Internet Draft IPP URL Scheme 11 January 2001 12. Appendix A - Registration of IPP Port [Placeholder for updated IANA registration of IPP Port (631) - need input from Carl-Uno Manros]. 13. Appendix B - Registration of MIME "application/ipp" This appendix contains the information that IANA requires for registering a MIME media type. The information following this paragraph will be forwarded to IANA to update the registration of "application/ipp", whose contents are defined in Section 3 'Encoding of the Operation Layer' in [RFC-2910]. MIME type name: application MIME subtype name: ipp A Content-Type of "application/ipp" indicates an Internet Printing Protocol message body (request or response). Currently there are two versions: a) IPP/1.0 [Experimental], whose syntax is described in Section 3 'Encoding of the Operation Layer' in [RFC-2565], and whose semantics are described in [RFC-2566]; and b) IPP/1.1 [Standards Track], whose syntax is described in Section 3 'Encoding of the Operation Layer' of [RFC-2910], and whose semantics are described in [RFC-2911]. Required parameters: none Optional parameters: none Encoding considerations: IPP/1.1 protocol requests/responses MAY contain long lines and ALWAYS contain binary data (for example attribute value lengths). Security considerations: IPP/1.1 protocol requests/responses do not introduce any security risks not already inherent in the underlying transport protocols. Protocol mixed-version interworking rules in [RFC-2911] as well as protocol encoding rules in [RFC-2910] are complete and unambiguous. Interoperability considerations: IPP/1.1 requests (generated by clients) and responses (generated by servers) MUST comply with all conformance requirements imposed by the normative specifications [RFC-2911] and [RFC-2910]. Protocol Herriot, McDonald Expires 11 July 2001 [Page 13] Internet Draft IPP URL Scheme 11 January 2001 encoding rules specified in [RFC-2910] are comprehensive, so that interoperability between conforming implementations is guaranteed (although support for specific optional features is not ensured). Both the "charset" and "natural-language" of all IPP/1.1 attribute values which are a LOCALIZED-STRING are explicit within IPP protocol requests/responses (without recourse to any external information in HTTP, SMTP, or other message transport headers). Published specifications: [RFC-2565] R. Herriot, S. Butler, P. Moore, R. Turner. "Internet Printing Protocol/1.0: Encoding and Transport", RFC 2565, April 1999 (EXPERIMENTAL, obsolete). [RFC-2566] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell. "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, April 1999 (EXPERIMENTAL, obsolete). [RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn. "Internet Printing Protocol/1.1: Encoding and Transport", RFC 2910, September 2000 (STANDARDS TRACK). [RFC-2911] T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell. "Internet Printing Protocol/1.1: Model and Semantics", RFC 2911, September 2000 (STANDARDS TRACK). Applications which use this media type: Internet Printing Protocol (IPP) print clients and print servers, communicating using HTTP/1.1 (see [RFC-2910]), SMTP/ESMTP, FTP, or other transport protocol. Messages of type "application/ipp" are self-contained and transport-independent, including "charset" and "natural-language" context for any LOCALIZED-STRING value. Person & email address to contact for further information: Tom Hastings Xerox Corporation 737 Hawaii St. ESAE-231 El Segundo, CA Phone: 310-333-6413 Fax: 310-333-5514 Email: hastings@cp10.es.xerox.com or Robert Herriot Xerox Corporation 3400 Hillview Ave., Bldg #1 Palo Alto, CA 94304 Herriot, McDonald Expires 11 July 2001 [Page 14] Internet Draft IPP URL Scheme 11 January 2001 Phone: 650-813-7696 Fax: 650-813-6860 Email: robert.herriot@pahv.xerox.com Intended usage: COMMON 14. Appendix C - Change History [To be deleted before RFC publication] 11 January 2001 - draft-ietf-ipp-url-scheme-00.txt - initial version - simple 'ipp:' URL scheme without parameters or query part (consistent with existing IPP/1.0 and IPP/1.1 implementations). 15. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Herriot, McDonald Expires 11 July 2001 [Page 15]