Internet Printing Protocol Working Group                     Bob Herriot
INTERNET DRAFT                                         Xerox Corporation
Expires 11 July 5 August 2001                                       Ira McDonald
                                                          High North Inc
[Target Category: Standards Track]                       11 January                       5 February 2001

                   Internet Printing Protocol (IPP):
                             IPP URL Scheme
                   <draft-ietf-ipp-url-scheme-00.txt>
                   <draft-ietf-ipp-url-scheme-01.txt>

    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

   This document each begin 'ISSUE_n:'. is intended for use in registering the "ipp" URL scheme
   with IANA and fully conforms to the requirements in [RFC-2717].  This
   document specifies defines the "ipp" URL (Uniform Resource Locator) scheme for
   specifying the location of an IPP Printer Printer, IPP Job, or other IPP
   object (defined in some future version of IPP) which implements
   IPP/1.0 [RFC-2565] [RFC-2566], the
   IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP
   [RFC-2910] [RFC-2911], or any later version of IPP.  This document is  The intended for use in
   registering usage of the
   "ipp" URL scheme with IANA and fully conforms to the
   requirements in [RFC-2717]. is COMMON.

   The IPP URL scheme defined in this document is based on the ABNF for
   the basic hierarchical HTTP URL syntax scheme defined in [RFC-2396]; however relative URL
   forms, parameters, and/or query parts are NOT allowed HTTP/1.1 [RFC-2616], which is derived
   from the URI Generic Syntax [RFC-2396] and further updated by
   [RFC-2732] and [RFC-2373] (for IPv6 addresses in an IPP URL.
   The URLs).  An IPP URL scheme
   is case-insensitive in the host name or host
   address part; however transformed into an HTTP URL according to the path part is case-sensitive, as rules specified in
   [RFC-2396].  Codepoints outside [US-ASCII] MUST be hex escaped by
   section 5 of the
   mechanism defined in [RFC-2396]. IPP/1.1 Protocol [RFC-2910].

                           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 Character Encoding ......................       5
  4.5.  IPP URL Scheme Syntax in ABNF ..........................       6
  4.5.
    4.5.1.  IPP URL Scheme Character Encoding ...................... Examples ...................................       7
    4.5.2.  IPP URL Comparisons ................................       8
5.  Conformance Requirements ...................................       8       9
  5.1.  Conformance Requirements for IPP Clients ...............       8       9
  5.2.  Conformance Requirements for IPP Printers ..............       8       9
6.  IANA Considerations ........................................       9      10
7.  Internationalization Considerations ........................       9      10
8.  Security Considerations ....................................       9      10
9.  References .................................................      10      11
10.  Acknowledgments ...........................................      11      12
11.  Authors' Addresses ........................................      12
12.  Appendix A - Registration of IPP Port .....................      13
13.  Appendix B - Registration of MIME "application/ipp" .......      13
14.
12.  Appendix C X - Change History ...............................      15
15.      13
13.  Full Copyright Statement ..................................      15      14

1.  Introduction

   See section 1 'Introduction' in [RFC-2911] for a full description of
   the IPP document set and overview information about IPP.

   The open issues in this document each begin 'ISSUE_n:'.

   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

   This document each begin 'ISSUE_n:'. is intended for use in registering the "ipp" URL scheme
   with IANA and fully conforms to the requirements in [RFC-2717].  This
   document specifies defines the "ipp" URL (Uniform Resource Locator) scheme for
   specifying the location of an IPP Printer which implements
   IPP/1.0 [RFC-2565] [RFC-2566], Printer, IPP Job, or other IPP
   object (defined in some future version of IPP) which implements the
   IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP
   [RFC-2910] [RFC-2911], or any later version of IPP.  This document is  The intended for use in
   registering usage of the
   "ipp" URL scheme with IANA and fully conforms to the
   requirements in [RFC-2717]. is COMMON.

   This document defines:
   - IPP URL scheme applicability and intended usage;
   - IPP URL scheme associated port (i.e., well-known port 631);
   - 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.

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.

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" Printer object" means the software (on some
   hardware platform) that receives print jobs and/or job printer/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

   In this document, "IPP Printer" is identified via a synonym for "IPP Printer
   object".

   In this document, "IPP Job object" means the set of attributes and
   documents for one print job on an IPP URL.  This "IPP Printer".

   In this document, "IPP Job" is a synonym for "IPP Job object".

4.  IPP URL MUST
   NOT contain any parameters or query part.

   The Scheme

   4.1.  IPP URL scheme defined in this Scheme Applicability and Intended Usage

   This document is based on the ABNF intended for use in registering the basic hierarchical "ipp" URL syntax scheme
   with IANA and fully conforms to the requirements in [RFC-2396]; however relative [RFC-2717].  This
   document defines the "ipp" URL
   forms, parameters, and/or query parts are NOT allowed in (Uniform Resource Locator) scheme for
   specifying the location of an IPP URL.
   The Printer, IPP URL scheme is case-insensitive Job, or other IPP
   object (defined in some future version of IPP) which implements the host name
   IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP
   [RFC-2910] or host
   address part; however any later version of IPP.  The intended usage of the path part
   "ipp" URL scheme is case-sensitive, as in
   [RFC-2396].  Codepoints outside [US-ASCII] MUST be hex escaped by the
   mechanism defined in [RFC-2396]. COMMON.

   4.2.  IPP URL Scheme Associated IPP Port

   All IPP URLs which do NOT explicitly specify a port MUST be used over
   IANA-assigned well-known port 631 for the IPP protocol described in
   [RFC-2910].

   See:  Appendix A in this document which updates the existing IPP port  IANA Port Numbers Registry [IANA-PORTREG].  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' "application/ipp" MIME media type as registered in
   [IANA-MIMEREG].  IPP URLs MUST refer to IPP Printers which support
   this 'application/ipp' "application/ipp" MIME media type.

   See:  Appendix B in this document.  IANA MIME Media Types Registry [IANA-MIMEREG].

   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
   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 HTTP URL syntax scheme defined in [RFC-2396]; however relative URL
   forms, parameters, and/or query parts are NOT allowed HTTP/1.1 [RFC-2616], which is derived
   from the URI Generic Syntax [RFC-2396] and further updated by
   [RFC-2732] and [RFC-2373] (for IPv6 addresses in an IPP URL. URLs).  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
   specified in [RFC-2396].

5.  Conformance Requirements

   5.1.  Conformance Requirements for IPP Clients

   4.5.  IPP Clients that conform URL Scheme Syntax in ABNF

   This document is intended for use in registering the "ipp" URL scheme
   with IANA and fully conforms to this specification:

   a) MUST send valid IPP Jobs on port 631 (IANA-assigned default port the requirements in [RFC-2717].  This
   document defines the "ipp" URL (Uniform Resource Locator) scheme for IPP) when contacting
   specifying the location of an IPP Printers via Printer, IPP URLs that do NOT
      specify an explicit port;

   b) MUST NOT send otherwise valid Job, or other IPP Jobs on any port other than 631
      (IANA-assigned default port for
   object (defined in some future version of IPP) when contacting which implements the
   IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP
   [RFC-2910] or any later version of IPP.  The intended usage of the
   "ipp" URL scheme is COMMON.

   The IPP Printers
      via protocol places a limit 1023 octets (NOT characters) on the
   length of a URI in section 4.1.5 'uri' in [RFC-2911].  An IPP URLs that do NOT specify an explicit port;

   c) Printer
   implementation MUST conform be able to handle the ABNF for IPP URLs specified in section 4.4 URI of
      this document.

   5.2.  Conformance Requirements for any resource that it
   supports.  An IPP Printers Printer MUST return
   'client-error-request-value-too-long' (see section 13.1.4.10 in
   [RFC-2911]) when a URI received in a request (e.g., in the
   "printer-uri" attribute) is too long.

      Note:  IPP Printers that conform ought to this specification:

   a) MUST accept valid be cautious about depending on URI
      lengths above 255 bytes, because some older client or proxy
      implementations might not properly support these lengths.

   IPP Jobs URLs MUST be represented in absolute form.  Absolute URLs always
   begin with a scheme name followed by a colon.  For definitive
   information on port 631 (IANA-assigned default port
      for IPP) URL syntax and semantics, see "Uniform Resource
   Identifiers (URI): Generic Syntax and Semantics" [RFC-2396].  This
   specification adopts the definitions of "URI-reference",
   "absoluteURI", "relativeURI", "port", "host","abs_path", "rel_path",
   and "authority" from IPP Clients that follow required client
      authentication [RFC-2396], as updated by [RFC-2732] and security mechanisms;

   b) MUST reject otherwise valid
   [RFC-2373] (for IPv6 addresses in URLs).

   The IPP Jobs on any URL scheme syntax in ABNF is as follows:

   ipp_URL = "http:" "//" host [ ":" port other than 631
      (IANA-assigned default ] [ abs_path [ "?" query ]]

   If the port for IPP) from IPP Clients that follow
      required client authentication and security mechanisms, unless
      explicitly configured by system administrators is empty or site policies
      (e.g., 'trap doors' on not given, port 80 631 is assumed.  The
   semantics 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 identified resource (see section 4.4 5.1.2 of this document.

6.  IANA Considerations

   This
   [RFC-2616]) is located at the 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 Printer or IPP URL Scheme specification does not introduce any additional
   internationalization considerations, beyond those described in
   [RFC-2910] Job listening for
   HTTP connections on that port of that host, and [RFC-2911].

   See:  Section 7 'Internationalization Considerations' the Request-URI for
   the identified resource is 'abs_path'.  The use of IP addresses in [RFC-2910].
   See:  Section 7 'Internationalization Considerations'
   URLs SHOULD be avoided whenever possible (see [RFC-1900]).

   If the 'abs_path' is not present in [RFC-2911].

8.  Security Considerations

   This the URL, it MUST be given as "/"
   when used as a Request-URI for a resource (see section 5.1.2 of
   [RFC-2616]).  If a proxy receives a host name which is not a fully
   qualified domain name, it MAY add its domain to the host name it
   received.  If a proxy receives a fully qualified domain name, the
   proxy MUST NOT change the host name.

   4.5.1.  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].

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. Examples

   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 following are examples of valid IPP URLs for IPP Printers:

       ipp://abc.com
       ipp://abc.com/printer
       ipp://abc.com/tiger
       ipp://abc.com/printers/tiger
       ipp://abc.com/printers/fox
       ipp://abc.com/printers/tiger/bob
       ipp://abc.com/printers/tiger/ira
       ipp://printer.abc.com
       ipp://printers.abc.com/tiger
       ipp://printers.abc.com/tiger/bob
       ipp://printers.abc.com/tiger/ira

   Each of the Identification above URLs are legitimate URLs for IPP Printers and each
   references a logically different IPP Printer, even though some 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
   IPP Printers may share the same hardware.  The TLS Protocol Version, RFC 2246,
   January 1999.

   [RFC-2277] H. Alvestrand.  IETF Policy on Character Sets last part of the path
   'bob' or 'ira' may represent two different hardware devices where
   'tiger' represents some grouping of IPP Printers (e.g., a
   load-balancing spooler) or the two names may represent separate human
   recipients ('bob' and
   Languages, RFC 2277, January 1998.

   [RFC-2279] F. Yergeau.  UTF-8, 'ira') on the same hardware device (e.g., a Transformation Format
   printer supporting two job queues).  In either case both 'bob' and
   'ira' behave as different IPP Printers.

   The following are examples of ISO 10646,
   RFC 2279, January 1998.

   [RFC-2565] R. Herriot, S. Butler, P. Moore, R. Turner.  IPP/1.0
   Encoding IPP URLs with (optional) ports and Transport, RFC 2565, April 1999.

   [RFC-2566] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell.
   IPP/1.0 Model
   paths:

       ipp://abc.com
       ipp://abc.com/~smith/printer
       ipp://abc.com:631/~smith/printer

   The first and Semantics, RFC 2566, April 1999.

   [RFC-2579] K. McCloghrie, D. Perkins, J. Schoenwaelder.  Textual
   Conventions second IPP URLs above MUST be resolved to port 631
   (IANA assigned well-known port 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 IPP).  The second and
   Digest Access Authentication, third IPP
   URLs above are equivalent (see section 4.5.2 below).

   The following literal IPv6 addresses (conformant to [RFC-2373]):

       ::192.9.5.5                         ; IPv4 address in IPv6 style
       ::FFFF:129.144.52.38                ; IPv4 address in IPv6 style
       2010:836B:4179::836B:4179           ; IPv6 address per RFC 2617, June 1999.

   [RFC-2717] R. Petke, I. King.  Registration Procedures for 2373

   are represented in the following example IPP URLs:

       ipp://[::192.9.5.5]/prt1
       ipp://[::FFFF:129.144.52.38]:631/printers/tiger
       ipp://[2010:836B:4179::836B:4179]/printers/tiger/bob

   4.5.2.  IPP URL Scheme
   Names, RFC 2717, November 1999.

   [RFC-2718] L. Masinter, H. Alvestrand, D. Zigmond, R. Petke.
   Guidelines Comparisons

   When comparing two IPP URLs to decide if they match or not, an IPP
   Client SHOULD use a case-sensitive octet-by-octet comparison of the
   entire URLs, with these exceptions:

   - A port that is empty or not given is equivalent to the well-known
     port for new that IPP URL Scheme Names, RFC 2718, November 1999.

   [RFC-2732] R. Hinden,B. Carpenter, L. Masinter.  Format for Literal
   IPv6 Addresses (port 631);

   - Comparisons of host names MUST be case-insensitive;

   - Comparisons of scheme names MUST be case-insensitive;

   - An empty 'abs_path' is equivalent to an 'abs_path' of "/".

   Characters other than those in URL's, RFC 2732, December 1999.

   [RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn.
   IPP/1.1 Encoding the "reserved" and Transport, RFC 2910, September 2000.

   [RFC-2911] T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell.
   IPP/1.1 Model "unsafe" sets (see
   [RFC-2396] 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 [RFC-2732]) are equivalent to their ""%" HEX HEX"
   encoding.

   For example, the following three URIs are equivalent:

       ipp://abc.com:631/~smith/printer
       ipp://ABC.com/%7Esmith/printer
       ipp://ABC.com:/%7esmith/printer

5.  Conformance Requirements

   5.1.  Conformance Requirements for
   Information Interchange, ANSI X3.4-1986.

10.  Acknowledgments

   This document is a product of IPP Clients

   IPP Clients that conform to this specification:

   a) MUST send IPP URLs (e.g., in the Internet Printing Protocol Working
   Group "printer-uri" operation attribute
      in 'Print-Job') that conform to the ABNF specified in section 4.5
      of this document;

   b) MUST send IPP operations via the Internet Engineering Task Force (IETF).  Comments should
   be submitted port specified in the IPP URL (if
      present) or otherwise via IANA assigned well-known port 631;

   c) MUST convert IPP URLs to the ipp@pwg.org mailing list.

   Thanks their corresponding HTTP URL forms
      according to Pat Fleming (IBM), Tom Hastings (Xerox), Harry Lewis (IBM),
   and Hugo Parra (Novell).

   Section the rules in section 5 'IPP URL Scheme' in IPP/1.1 Encoding and Transport
   [RFC-2910] was
      [RFC-2910];

   d) SHOULD interoperate with IPP/1.0 Printers according to the primary input rules
      in section 9 'Interoperability with IPP/1.0 Implementations' and
      section 9.2 'Security and URL Schemes' in [RFC-2910].

   5.2.  Conformance Requirements for IPP Printers

   IPP Printers that conform to this specification:

   a) SHOULD reject received IPP URL Scheme
   specification.

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

12.  Appendix A - Registration of IPP Port

   [Placeholder URLs in "application/ipp" request
      bodies (e.g., in the "printer-uri" attribute in a 'Print-Job'
      request) that do not conform to the ABNF for updated IANA registration of IPP Port (631) - need
   input from Carl-Uno Manros].

13.  Appendix B - Registration URLs specified in
      section 4.5 of MIME this document;

   b) SHOULD return IPP URLs in "application/ipp"

   This appendix contains response bodies (e.g.,
      in the information "job-uri" attribute in a 'Print-Job' response) that IANA requires do
      conform to the ABNF for
   registering a MIME media type.  The information following IPP URLs specified in section 4.5 of this
   paragraph will be forwarded
      document;

   c) MUST listen for IPP operations on IANA-assigned well-known port
      631, unless explicitly configured by system administrators or site
      policies;

   d) SHOULD NOT listen for IPP operations on any other port, unless
      explicitly configured by system administrators or site policies;

   e) SHOULD interoperate with IPP/1.0 Clients according to the rules in
      section 9 'Interoperability with IPP/1.0 Implementations' and
      section 9.2 'Security and URL Schemes' in [RFC-2910].

6.  IANA Considerations

   This document is intended for use in registering the "ipp" URL scheme
   with IANA and fully conforms to update the registration of
   "application/ipp", whose contents are defined requirements in Section 3 'Encoding
   of [RFC-2717].  This
   document defines the Operation Layer' in [RFC-2910].

   MIME type name:  application

   MIME subtype name:  ipp

   A Content-Type "ipp" URL (Uniform Resource Locator) scheme for
   specifying the location of "application/ipp" indicates an Internet Printing IPP Printer, IPP Job, or other IPP
   object (defined in some future version of IPP) which implements the
   IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol message body (request or response).  Currently there are two
   versions:  a) IPP/1.0 [Experimental], whose syntax encoding over HTTP
   [RFC-2910] or any later version of IPP.  The intended usage of the
   "ipp" URL scheme is COMMON.

   This IPP URL Scheme specification does not introduce any additional
   IANA considerations, beyond those described in [RFC-2910] and
   [RFC-2911].

   See:  Section 3 'Encoding of the Operation Layer' 6 'IANA Considerations' in [RFC-2565], and whose
   semantics are [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-2566];
   [RFC-2910] and b) IPP/1.1 [Standards
   Track], whose syntax is described [RFC-2911].

   See:  Section 7 'Internationalization Considerations' in [RFC-2910].
   See:  Section 3 'Encoding of the
   Operation Layer' of [RFC-2910], and whose semantics are described 7 'Internationalization Considerations' 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).

8.  Security considerations:

   IPP/1.1 protocol requests/responses do Considerations

   This IPP URL Scheme specification does not introduce any additional
   security
   risks not already inherent in the underlying transport protocols.
   Protocol mixed-version interworking rules in [RFC-2911] as well as
   protocol encoding rules considerations, beyond those described 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-2911].

   See:  Section 8 'Security Considerations' in [RFC-2910].  Protocol
   encoding rules specified
   See:  Section 8 'Security Considerations' in [RFC-2910] are comprehensive, so that
   interoperability between conforming implementations is guaranteed
   (although support [RFC-2911].

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/...

   [IANA-PORTREG] IANA Port Numbers Registry.
   ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers

   [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-1900] B. Carpenter, Y. Rekhter.  Renumbering Needs Work, RFC
   1900, February 1996.

   [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 specific optional features is not ensured).
   Both the "charset" 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 "natural-language" of all IPP/1.1 attribute
   values which are
   Languages, RFC 2277, January 1998.

   [RFC-2279] F. Yergeau.  UTF-8, 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: Transformation Format of ISO 10646,
   RFC 2279, January 1998.

   [RFC-2565] R. Herriot, S. Butler, P. Moore, R. Turner.
              "Internet Printing Protocol/1.0:  IPP/1.0
   Encoding and Transport", Transport, RFC 2565, April 1999 (Experimental).

   [RFC-2566] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell.
   IPP/1.0 Model and Semantics, RFC 2566, April 1999 (Experimental).

   [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 2565, April 1999 (EXPERIMENTAL, obsolete).

   [RFC-2566] 2717, November 1999.

   [RFC-2718] L. Masinter, H. Alvestrand, D. Zigmond, R. deBry, T. Hastings, Petke.
   Guidelines for new URL Scheme Names, RFC 2718, November 1999.

   [RFC-2732] R. Herriot, S. Isaacson, P. Powell.
              "Internet Printing Protocol/1.0: Model and Semantics", Hinden,B. Carpenter, L. Masinter.  Format for Literal
   IPv6 Addresses in URL's, RFC 2566, April 1999 (EXPERIMENTAL, obsolete). 2732, December 1999.

   [RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn.
              "Internet Printing Protocol/1.1:
   IPP/1.1 Encoding and Transport", Transport, RFC 2910, September 2000 (STANDARDS TRACK). 2000.

   [RFC-2911] T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell.
              "Internet Printing Protocol/1.1:
   IPP/1.1 Model and Semantics", Semantics, RFC 2911, September 2000 (STANDARDS TRACK).

   Applications which use this media type: 2000.

   [RFC-2978] N. Freed, J. Postel.  IANA Charset Registration
   Procedures, RFC 2978, October 2000.

   [RFC-3066] H. Alvestrand.  Tags for the Identification of Languages,
   RFC 3066, January 2001.

   [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 (IPP) print clients 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 print servers,
   communicating using 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.

11.  Authors' Addresses

   Robert Herriot
   Xerox Corporation
   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

12.  Appendix X - Change History

   [To be deleted before RFC publication]

   5 February 2001 - draft-ietf-ipp-url-scheme-01.txt
   - revised section 4.1 'IPP URL Applicability and Intended Usage' to
     clarify that a given IPP URL MAY identify an IPP Printer object or
     an IPP Job object, per request of Tom Hastings;
   - revised section 4.5 'IPP URL Scheme Syntax in ABNF' to define IPP
     URLs consistently with section 3.2.2 'http URL' of HTTP/1.1 (see [RFC-2910]), SMTP/ESMTP, FTP,
     [RFC-2616], per request of Tom Hastings;
   - revised section 4.5 'IPP URL Scheme Syntax in ABNF' to clarify that
     IPP URLs may reference IPP Printer objects, IPP Job objects, or
     (possibly other transport protocol.  Messages future) IPP objects, per request of type "application/ipp" are
   self-contained and transport-independent, including "charset" Bob Herriot;
   - added section 4.5.1 'IPP URL Examples' to supply meaningful
     examples of IPP URLs with host names, IPv4 addresses, and
   "natural-language" context for any LOCALIZED-STRING value.

   Person & email address IPv6
     addresses, per request of Tom Hastings;
   - added section 4.5.2 'IPP URL Comparisons' to contact define IPP URL
     comparisons consistently with section 3.3 'URI Comparison' of
     HTTP/1.1 [RFC-2616], per request of Tom Hastings;
   - revised section 5.1 'Conformance Requirements for further information: IPP Clients' to
     clarify that an IPP Client MUST convert IPP URLs to their
     corresponding HTTP URL forms according to section 5 'IPP URL
     Scheme' in [RFC-2910], per request of 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
   Phone: 650-813-7696
   Fax:   650-813-6860
   Email: robert.herriot@pahv.xerox.com

   Intended usage:

   COMMON

14. and Bob Herriot;
   - revised section 5.1 'Conformance Requirements for IPP Clients' and
     section 5.2 'Conformance Requirements for IPP Printers' to clarify
     that IPP Clients and IPP Printers SHOULD interoperate with IPP/1.0
     systems according to section 9 'Interoperability with IPP/1.0
     Implementations' in [RFC-2910], per request of Carl Kugler;
   - revised section 5.2 'Conformance Requirements for IPP Printers' to
     clarify that an IPP Printer MUST listen on (IANA assigned
     well-known) port 631, unless explicitly configured, per request of
     Michael Sweet;
   - revised section 5.2 'Conformance Requirements for IPP Printers' to
     clarify that an IPP Printer SHOULD NOT listen on ports other than
     (IANA assigned well-known) port 631, unless explicitly configured,
     per request of Don Wright;
   - revised section 6 'IANA Considerations' to clarify that the sole
     purpose of the entire document is IANA registration of the "ipp"
     URL scheme;
   - deleted Appendix C A 'Registration of IPP Port' as unnecessary (port
     is already registered);
   - Change History

   [To be deleted before Appendix B 'Registration of MIME "application/ipp" as
     unnecessary (MIME registry has recently caught up to RFC publication] 2910);

   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. implementations);
   - added Appendix A 'Registration of IPP Port' (placeholder) for
     updated IANA registration of port 631 with references to IPP/1.1;
   - added Appendix B 'Registration of MIME "application/ipp"' with
     updated IANA registration for IPP MIME type with references to both
     IPP/1.0 and IPP/1.1;

13.  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.