draft-ietf-ipp-url-scheme-00.txt   draft-ietf-ipp-url-scheme-01.txt 
Internet Printing Protocol Working Group Bob Herriot Internet Printing Protocol Working Group Bob Herriot
INTERNET DRAFT Xerox INTERNET DRAFT Xerox Corporation
Expires 11 July 2001 Ira McDonald Expires 5 August 2001 Ira McDonald
High North High North Inc
[Target Category: Standards Track] 11 January 2001 [Target Category: Standards Track] 5 February 2001
Internet Printing Protocol (IPP): Internet Printing Protocol (IPP):
IPP URL Scheme 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. Copyright (C) The Internet Society (2001). All Rights Reserved.
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet-Drafts are working all provisions of Section 10 of RFC2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. working documents as Internet-Drafts.
skipping to change at page 1, line 37 skipping to change at page 1, line 37
To view the list of Internet-Draft Shadow Directories, see To view the list of Internet-Draft Shadow Directories, see
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This document is a product of the Internet Printing Protocol Working This document is a product of the Internet Printing Protocol Working
Group of the Internet Engineering Task Force (IETF). Comments should Group of the Internet Engineering Task Force (IETF). Comments should
be submitted to the ipp@pwg.org mailing list. be submitted to the ipp@pwg.org mailing list.
The open issues in this document each begin 'ISSUE_n:'. This document is intended for use in registering the "ipp" URL scheme
with IANA and fully conforms to the requirements in [RFC-2717]. This
This document specifies the "ipp" URL (Uniform Resource Locator) document defines the "ipp" URL (Uniform Resource Locator) scheme for
scheme for specifying the location of an IPP Printer which implements specifying the location of an IPP Printer, IPP Job, or other IPP
IPP/1.0 [RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any object (defined in some future version of IPP) which implements the
later version of IPP. This document is intended for use in IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP
registering the "ipp" URL scheme with IANA and fully conforms to the [RFC-2910] or any later version of IPP. The intended usage of the
requirements in [RFC-2717]. "ipp" URL scheme is COMMON.
The IPP URL scheme defined in this document is based on the ABNF for 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 the HTTP URL scheme defined in HTTP/1.1 [RFC-2616], which is derived
forms, parameters, and/or query parts are NOT allowed in an IPP URL. from the URI Generic Syntax [RFC-2396] and further updated by
The IPP URL scheme is case-insensitive in the host name or host [RFC-2732] and [RFC-2373] (for IPv6 addresses in URLs). An IPP URL
address part; however the path part is case-sensitive, as in is transformed into an HTTP URL according to the rules specified in
[RFC-2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the section 5 of the IPP/1.1 Protocol [RFC-2910].
mechanism defined in [RFC-2396].
Table of Contents Table of Contents
1. Introduction ............................................... 3 1. Introduction ............................................... 3
2. Terminology ................................................ 4 2. Terminology ................................................ 4
2.1. Conformance Terminology ................................ 4 2.1. Conformance Terminology ................................ 4
2.2. Model Terminology ...................................... 4 2.2. Model Terminology ...................................... 4
3. IPP Model for Printers and Jobs ............................ 4 3. IPP Model for Printers and Jobs ............................ 4
4. IPP URL Scheme ............................................. 5 4. IPP URL Scheme ............................................. 5
4.1. IPP URL Scheme Applicability and Intended Usage ........ 5 4.1. IPP URL Scheme Applicability and Intended Usage ........ 5
4.2. IPP URL Scheme Associated IPP Port ..................... 5 4.2. IPP URL Scheme Associated IPP Port ..................... 5
4.3. IPP URL Scheme Associated MIME Type .................... 5 4.3. IPP URL Scheme Associated MIME Type .................... 5
4.4. IPP URL Scheme Syntax in ABNF .......................... 6 4.4. IPP URL Scheme Character Encoding ...................... 5
4.5. IPP URL Scheme Character Encoding ...................... 7 4.5. IPP URL Scheme Syntax in ABNF .......................... 6
5. Conformance Requirements ................................... 8 4.5.1. IPP URL Examples ................................... 7
5.1. Conformance Requirements for IPP Clients ............... 8 4.5.2. IPP URL Comparisons ................................ 8
5.2. Conformance Requirements for IPP Printers .............. 8 5. Conformance Requirements ................................... 9
6. IANA Considerations ........................................ 9 5.1. Conformance Requirements for IPP Clients ............... 9
7. Internationalization Considerations ........................ 9 5.2. Conformance Requirements for IPP Printers .............. 9
8. Security Considerations .................................... 9 6. IANA Considerations ........................................ 10
9. References ................................................. 10 7. Internationalization Considerations ........................ 10
10. Acknowledgments ........................................... 11 8. Security Considerations .................................... 10
11. Authors' Addresses ........................................ 12 9. References ................................................. 11
12. Appendix A - Registration of IPP Port ..................... 13 10. Acknowledgments ........................................... 12
13. Appendix B - Registration of MIME "application/ipp" ....... 13 11. Authors' Addresses ........................................ 13
14. Appendix C - Change History ............................... 15 12. Appendix X - Change History ............................... 13
15. Full Copyright Statement .................................. 15 13. Full Copyright Statement .................................. 14
1. Introduction 1. Introduction
See section 1 'Introduction' in [RFC-2911] for a full description of See section 1 'Introduction' in [RFC-2911] for a full description of
the IPP document set and overview information about IPP. 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 This document is a product of the Internet Printing Protocol Working
Group of the Internet Engineering Task Force (IETF). Comments should Group of the Internet Engineering Task Force (IETF). Comments should
be submitted to the ipp@pwg.org mailing list. be submitted to the ipp@pwg.org mailing list.
The open issues in this document each begin 'ISSUE_n:'. This document is intended for use in registering the "ipp" URL scheme
with IANA and fully conforms to the requirements in [RFC-2717]. This
This document specifies the "ipp" URL (Uniform Resource Locator) document defines the "ipp" URL (Uniform Resource Locator) scheme for
scheme for specifying the location of an IPP Printer which implements specifying the location of an IPP Printer, IPP Job, or other IPP
IPP/1.0 [RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any object (defined in some future version of IPP) which implements the
later version of IPP. This document is intended for use in IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP
registering the "ipp" URL scheme with IANA and fully conforms to the [RFC-2910] or any later version of IPP. The intended usage of the
requirements in [RFC-2717]. "ipp" URL scheme is COMMON.
This document defines: This document defines:
- IPP URL scheme applicability and intended usage; - 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 associated MIME type (i.e., "application/ipp");
- IPP URL scheme syntax in ABNF [RFC-2234]; - IPP URL scheme syntax in ABNF [RFC-2234];
- IPP URL scheme character encoding; - IPP URL scheme character encoding;
- IPP URL scheme IANA, internationalization, and security - IPP URL scheme IANA, internationalization, and security
considerations. considerations.
This document is laid out as follows: This document is laid out as follows:
- Section 2 is the terminology used throughout the document. - Section 2 is the terminology used throughout the document.
- Section 3 provides references to the IPP Printer and IPP Job object - Section 3 provides references to the IPP Printer and IPP Job object
skipping to change at page 5, line 5 skipping to change at page 4, line 28
2.2. Model Terminology 2.2. Model Terminology
See section 12.2 'Model Terminology' in [RFC-2911]. See section 12.2 'Model Terminology' in [RFC-2911].
3. IPP Model for Printers and Jobs 3. IPP Model for Printers and Jobs
See section 2 'IPP Objects', section 2.1 'Printer Object', and 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 section 2.2 'Job Object' in [RFC-2911] for a full description of the
IPP object model and terminology. 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 In this document, "IPP Client" means the software (on some hardware
platform) that submits, monitors, and/or manages print jobs via 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 IPP/1.1 [RFC-2910] [RFC-2911], or any later version of IPP to a
later version of IPP to a spooler, gateway, or actual printing spooler, gateway, or actual printing device.
device.
In this document, "IPP Printer" means the software (on some hardware In this document, "IPP Printer object" means the software (on some
platform) that receives print jobs and/or job operations via IPP/1.0 hardware platform) that receives print jobs and/or printer/job
[RFC-2565] [RFC-2566], IPP/1.1 [RFC-2910] [RFC-2911], or any later operations via IPP/1.1 [RFC-2910] [RFC-2911], or any later version of
version of IPP from an "IPP Client". IPP from an "IPP Client".
The "IPP Printer" is identified via an IPP URL. This IPP URL MUST In this document, "IPP Printer" is a synonym for "IPP Printer
NOT contain any parameters or query part. object".
The IPP URL scheme defined in this document is based on the ABNF for In this document, "IPP Job object" means the set of attributes and
the basic hierarchical URL syntax in [RFC-2396]; however relative URL documents for one print job on an "IPP Printer".
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 In this document, "IPP Job" is a synonym for "IPP Job object".
address part; however the path part is case-sensitive, as in
[RFC-2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the 4. IPP URL Scheme
mechanism defined in [RFC-2396].
4.1. IPP URL Scheme Applicability and Intended Usage
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 the "ipp" URL (Uniform Resource Locator) scheme for
specifying the location of an 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 encoding over HTTP
[RFC-2910] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON.
4.2. IPP URL Scheme Associated IPP Port 4.2. IPP URL Scheme Associated IPP Port
All IPP URLs which do NOT explicitly specify a port MUST be used over 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]. 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 See: IANA Port Numbers Registry [IANA-PORTREG]. registration with
registration with IANA. IANA.
4.3. IPP URL Scheme Associated MIME Type 4.3. IPP URL Scheme Associated MIME Type
All IPP protocol operations (requests and responses) MUST be conveyed All IPP protocol operations (requests and responses) MUST be conveyed
in an 'application/ipp' MIME media type as registered in in an "application/ipp" MIME media type as registered in
[IANA-MIMEREG]. IPP URLs MUST refer to IPP Printers which support [IANA-MIMEREG]. IPP URLs MUST refer to IPP Printers which support
this 'application/ipp' MIME media type. this "application/ipp" MIME media type.
See: Appendix B in this document. See: IANA MIME Media Types Registry [IANA-MIMEREG].
4.4. IPP URL Scheme Syntax in ABNF 4.4. IPP URL Scheme Character Encoding
The "ipp" URL scheme syntax is formally specified below in ABNF The IPP URL scheme defined in this document is based on the ABNF for
[RFC-2234]. This URL syntax is derived from [RFC-2396], [RFC-2732], the HTTP URL scheme defined in HTTP/1.1 [RFC-2616], which is derived
and [RFC-2373]. from the URI Generic Syntax [RFC-2396] and further updated by
; note - parameters are NOT allowed on IPP URLs [RFC-2732] and [RFC-2373] (for IPv6 addresses in URLs). The IPP URL
; note - query part is NOT allowed on IPP URLs scheme is case-insensitive in the host name or host address part;
ippURI = "ipp://" hostport [ path ] however the path part is case-sensitive, as in [RFC-2396].
Codepoints outside [US-ASCII] MUST be hex escaped by the mechanism
specified in [RFC-2396].
hostport = host [ ":" port ] 4.5. IPP URL Scheme Syntax in ABNF
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 This document is intended for use in registering the "ipp" URL scheme
; see RFC 2732 and RFC 2373 which update RFC 2396 with IANA and fully conforms to the requirements in [RFC-2717]. This
IPv6reference = "[" IPv6address "]" document defines the "ipp" URL (Uniform Resource Locator) scheme for
IPv6address = hexpart [ ":" IPv4address ] specifying the location of an IPP Printer, IPP Job, or other IPP
IPv4address = 1*3digit "." 1*3digit "." 1*3digit "." 1*3digit 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] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON.
hexpart = hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ] The IPP protocol places a limit 1023 octets (NOT characters) on the
hexseq = hex4 *( ":" hex4) length of a URI in section 4.1.5 'uri' in [RFC-2911]. An IPP Printer
hex4 = 1*4hex implementation MUST be able to handle the URI of any resource that it
supports. An IPP 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.
path = "/" segments Note: IPP Printers ought to be cautious about depending on URI
segments = segment *( "/" segment ) lengths above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.
; note - parameters are NOT allowed on IPP URLs IPP URLs MUST be represented in absolute form. Absolute URLs always
; see RFC 2396 which does allow parameters begin with a scheme name followed by a colon. For definitive
segment = *segchar information on URL syntax and semantics, see "Uniform Resource
segchar = unreserved | escaped | 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 [RFC-2396], as updated by [RFC-2732] and
[RFC-2373] (for IPv6 addresses in URLs).
; note - "[" and "]" are ADDED to 'reserved' for IPv6 The IPP URL scheme syntax in ABNF is as follows:
; see RFC 2732 and RFC 2373 which update RFC 2396
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | "," | "[" | "]"
unreserved = alphanum | mark ipp_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
mark = "-" | "_" | "." | "!" | "~" | "*" | "'" |
"(" | ")"
escaped = "%" hex hex If the port is empty or not given, port 631 is assumed. The
hex = digit | "A" | "B" | "C" | "D" | "E" | "F" | semantics are that the identified resource (see section 5.1.2 of
"a" | "b" | "c" | "d" | "e" | "f" [RFC-2616]) is located at the IPP Printer or IPP Job listening for
HTTP connections on that port of that host, and the Request-URI for
the identified resource is 'abs_path'. The use of IP addresses in
URLs SHOULD be avoided whenever possible (see [RFC-1900]).
alphanum = alpha | digit If the 'abs_path' is not present in the URL, it MUST be given as "/"
alpha = lowalpha | upalpha 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.
lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | 4.5.1. IPP URL Examples
"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 following are examples of valid IPP URLs for IPP Printers:
The IPP URL scheme defined in this document is based on the ABNF for ipp://abc.com
the basic hierarchical URL syntax in [RFC-2396]; however relative URL ipp://abc.com/printer
forms, parameters, and/or query parts are NOT allowed in an IPP URL. ipp://abc.com/tiger
The IPP URL scheme is case-insensitive in the host name or host ipp://abc.com/printers/tiger
address part; however the path part is case-sensitive, as in ipp://abc.com/printers/fox
[RFC-2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the ipp://abc.com/printers/tiger/bob
mechanism defined in [RFC-2396]. 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 above URLs are legitimate URLs for IPP Printers and each
references a logically different IPP Printer, even though some of the
IPP Printers may share the same hardware. The 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 'ira') on the same hardware device (e.g., a
printer supporting two job queues). In either case both 'bob' and
'ira' behave as different IPP Printers.
The following are examples of IPP URLs with (optional) ports and
paths:
ipp://abc.com
ipp://abc.com/~smith/printer
ipp://abc.com:631/~smith/printer
The first and second IPP URLs above MUST be resolved to port 631
(IANA assigned well-known port for IPP). The second and 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 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 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 that IPP URL (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 the "reserved" and "unsafe" sets (see
[RFC-2396] and [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. Conformance Requirements
5.1. Conformance Requirements for IPP Clients 5.1. Conformance Requirements for IPP Clients
IPP Clients that conform to this specification: IPP Clients that conform to this specification:
a) MUST send valid IPP Jobs on port 631 (IANA-assigned default port a) MUST send IPP URLs (e.g., in the "printer-uri" operation attribute
for IPP) when contacting IPP Printers via IPP URLs that do NOT in 'Print-Job') that conform to the ABNF specified in section 4.5
specify an explicit port; of this document;
b) MUST NOT send otherwise valid IPP Jobs on any port other than 631 b) MUST send IPP operations via the port specified in the IPP URL (if
(IANA-assigned default port for IPP) when contacting IPP Printers present) or otherwise via IANA assigned well-known port 631;
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 c) MUST convert IPP URLs to their corresponding HTTP URL forms
this document. according to the rules in section 5 'IPP URL Scheme' in
[RFC-2910];
d) SHOULD interoperate with IPP/1.0 Printers according to the 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 5.2. Conformance Requirements for IPP Printers
IPP Printers that conform to this specification: IPP Printers that conform to this specification:
a) MUST accept valid IPP Jobs on port 631 (IANA-assigned default port a) SHOULD reject received IPP URLs in "application/ipp" request
for IPP) from IPP Clients that follow required client bodies (e.g., in the "printer-uri" attribute in a 'Print-Job'
authentication and security mechanisms; request) that do not conform to the ABNF for IPP URLs specified in
section 4.5 of this document;
b) MUST reject otherwise valid IPP Jobs on any port other than 631 b) SHOULD return IPP URLs in "application/ipp" response bodies (e.g.,
(IANA-assigned default port for IPP) from IPP Clients that follow in the "job-uri" attribute in a 'Print-Job' response) that do
required client authentication and security mechanisms, unless conform to the ABNF for IPP URLs specified in section 4.5 of this
explicitly configured by system administrators or site policies document;
(e.g., 'trap doors' on port 80 are prohibited);
c) MUST reject received IPP URLs (e.g. in the "printer-uri" c) MUST listen for IPP operations on IANA-assigned well-known port
operation attribute in 'Print-Job') that do not conform to the 631, unless explicitly configured by system administrators or site
ABNF for IPP URLs specified in section 4.4 of this document. 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 6. IANA Considerations
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 the "ipp" URL (Uniform Resource Locator) scheme for
specifying the location of an 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 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 This IPP URL Scheme specification does not introduce any additional
IANA considerations, beyond those described in [RFC-2910] and IANA considerations, beyond those described in [RFC-2910] and
[RFC-2911]. [RFC-2911].
See: Section 6 'IANA Considerations' in [RFC-2910] See: Section 6 'IANA Considerations' in [RFC-2910]
See: Section 6 'IANA Considerations' in [RFC-2911]. See: Section 6 'IANA Considerations' in [RFC-2911].
7. Internationalization Considerations 7. Internationalization Considerations
This IPP URL Scheme specification does not introduce any additional This IPP URL Scheme specification does not introduce any additional
skipping to change at page 10, line 16 skipping to change at page 11, line 16
See: Section 10 'References' in [RFC-2910]. See: Section 10 'References' in [RFC-2910].
See: Section 9 'References' in [RFC-2911]. See: Section 9 'References' in [RFC-2911].
[IANA-CHARREG] IANA Charset Registry. [IANA-CHARREG] IANA Charset Registry.
ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets
[IANA-MIMEREG] IANA MIME Media Types Registry. [IANA-MIMEREG] IANA MIME Media Types Registry.
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/... 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 [NET-SSL3] Netscape. The SSL Protocol, Version 3 (text version
3.02), November 1996. 3.02), November 1996.
[RFC-1759] R. Smith, F. Wright, T. Hastings, S. Zilles, [RFC-1759] R. Smith, F. Wright, T. Hastings, S. Zilles,
J. Gyllenskog. Printer MIB, RFC 1759, March 1995. J. Gyllenskog. Printer MIB, RFC 1759, March 1995.
[RFC-1766] H. Alvestrand. Tags for the Identification of Languages, [RFC-1900] B. Carpenter, Y. Rekhter. Renumbering Needs Work, RFC
RFC 1766, March 1995. 1900, February 1996.
[RFC-2046] N. Freed, N. Borenstein. MIME Part Two: Media Types, RFC [RFC-2046] N. Freed, N. Borenstein. MIME Part Two: Media Types, RFC
2046, November 1996. 2046, November 1996.
[RFC-2048] N. Freed, J. Klensin, J. Postel. MIME Part [RFC-2048] N. Freed, J. Klensin, J. Postel. MIME Part
Four: Registration Procedures, RFC 2048, November 1996. Four: Registration Procedures, RFC 2048, November 1996.
[RFC-2234] D. Crocker, P. Overell. Augmented BNF for Syntax [RFC-2234] D. Crocker, P. Overell. Augmented BNF for Syntax
Specifications: ABNF, RFC 2234, November 1997. Specifications: ABNF, RFC 2234, November 1997.
skipping to change at page 10, line 50 skipping to change at page 11, line 53
[RFC-2246] T. Dierks, C. Allen. The TLS Protocol Version, RFC 2246, [RFC-2246] T. Dierks, C. Allen. The TLS Protocol Version, RFC 2246,
January 1999. January 1999.
[RFC-2277] H. Alvestrand. IETF Policy on Character Sets and [RFC-2277] H. Alvestrand. IETF Policy on Character Sets and
Languages, RFC 2277, January 1998. Languages, RFC 2277, January 1998.
[RFC-2279] F. Yergeau. UTF-8, a Transformation Format of ISO 10646, [RFC-2279] F. Yergeau. UTF-8, a Transformation Format of ISO 10646,
RFC 2279, January 1998. RFC 2279, January 1998.
[RFC-2565] R. Herriot, S. Butler, P. Moore, R. Turner. IPP/1.0 [RFC-2565] R. Herriot, S. Butler, P. Moore, R. Turner. IPP/1.0
Encoding and Transport, RFC 2565, April 1999. Encoding and Transport, RFC 2565, April 1999 (Experimental).
[RFC-2566] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell. [RFC-2566] R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell.
IPP/1.0 Model and Semantics, RFC 2566, April 1999. IPP/1.0 Model and Semantics, RFC 2566, April 1999 (Experimental).
[RFC-2579] K. McCloghrie, D. Perkins, J. Schoenwaelder. Textual [RFC-2579] K. McCloghrie, D. Perkins, J. Schoenwaelder. Textual
Conventions for SMIv2, RFC 2579, April 1999. Conventions for SMIv2, RFC 2579, April 1999.
[RFC-2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, [RFC-2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter,
P. Leach, T. Berners-Lee. Hypertext Transfer Protocol -- HTTP/1.1, P. Leach, T. Berners-Lee. Hypertext Transfer Protocol -- HTTP/1.1,
RFC 2616, June 1999. RFC 2616, June 1999.
[RFC-2617] J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, [RFC-2617] J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence,
P. Leach, A. Luotonen, L. Stewart. HTTP Authentication: Basic and P. Leach, A. Luotonen, L. Stewart. HTTP Authentication: Basic and
skipping to change at page 11, line 34 skipping to change at page 12, line 37
[RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn. [RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn.
IPP/1.1 Encoding and Transport, RFC 2910, September 2000. IPP/1.1 Encoding and Transport, RFC 2910, September 2000.
[RFC-2911] T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell. [RFC-2911] T. Hastings, R. Herriot, R. deBry, S. Isaacson, P. Powell.
IPP/1.1 Model and Semantics, RFC 2911, September 2000. IPP/1.1 Model and Semantics, RFC 2911, September 2000.
[RFC-2978] N. Freed, J. Postel. IANA Charset Registration [RFC-2978] N. Freed, J. Postel. IANA Charset Registration
Procedures, RFC 2978, October 2000. 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 [US-ASCII] Coded Character Set -- 7-bit American Standard Code for
Information Interchange, ANSI X3.4-1986. Information Interchange, ANSI X3.4-1986.
10. Acknowledgments 10. Acknowledgments
This document is a product of the Internet Printing Protocol Working This document is a product of the Internet Printing Protocol Working
Group of the Internet Engineering Task Force (IETF). Comments should Group of the Internet Engineering Task Force (IETF). Comments should
be submitted to the ipp@pwg.org mailing list. be submitted to the ipp@pwg.org mailing list.
Thanks to Pat Fleming (IBM), Tom Hastings (Xerox), Harry Lewis (IBM), Thanks to Pat Fleming (IBM), Tom Hastings (Xerox), Harry Lewis (IBM),
and Hugo Parra (Novell). and Hugo Parra (Novell).
Section 5 'IPP URL Scheme' in IPP/1.1 Encoding and Transport Section 5 'IPP URL Scheme' in IPP/1.1 Encoding and Transport
[RFC-2910] was the primary input to this IPP URL Scheme [RFC-2910] was the primary input to this IPP URL Scheme
specification. specification.
11. Authors' Addresses 11. Authors' Addresses
Robert Herriot Robert Herriot
Xerox Corp Xerox Corporation
3400 Hill View Ave, Building 1 3400 Hill View Ave, Building 1
Palo Alto, CA 94304 Palo Alto, CA 94304
Phone: +1 650-813-7696 Phone: +1 650-813-7696
Fax: +1 650-813-6860 Fax: +1 650-813-6860
Email: robert.herriot@pahv.xerox.com Email: robert.herriot@pahv.xerox.com
Ira McDonald Ira McDonald
High North Inc High North Inc
221 Ridge Ave 221 Ridge Ave
Grand Marais, MI 49839 Grand Marais, MI 49839
Phone: +1 906-494-2434 Phone: +1 906-494-2434
Email: imcdonald@crt.xerox.com Email: imcdonald@crt.xerox.com
Email: imcdonald@sharplabs.com Email: imcdonald@sharplabs.com
12. Appendix A - Registration of IPP Port 12. Appendix X - Change History
[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
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
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] [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
[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 future) IPP objects, per request of Bob Herriot;
- added section 4.5.1 'IPP URL Examples' to supply meaningful
examples of IPP URLs with host names, IPv4 addresses, and IPv6
addresses, per request of Tom Hastings;
- added section 4.5.2 'IPP URL Comparisons' to 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 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 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 A 'Registration of IPP Port' as unnecessary (port
is already registered);
- deleted Appendix B 'Registration of MIME "application/ipp" as
unnecessary (MIME registry has recently caught up to RFC 2910);
11 January 2001 - draft-ietf-ipp-url-scheme-00.txt 11 January 2001 - draft-ietf-ipp-url-scheme-00.txt
- initial version - simple 'ipp:' URL scheme without parameters or - initial version - simple 'ipp:' URL scheme without parameters or
query part (consistent with existing IPP/1.0 and IPP/1.1 query part (consistent with existing and IPP/1.1 implementations);
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;
15. Full Copyright Statement 13. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/