draft-ietf-ipp-url-scheme-03.txt   draft-ietf-ipp-url-scheme-04.txt 
Internet Printing Protocol Working Group Bob Herriot Internet Printing Protocol Working Group Bob Herriot
INTERNET DRAFT Xerox Corporation INTERNET DRAFT Consultant
Expires 2 October 2001 Ira McDonald <draft-ietf-ipp-url-scheme-04.txt> Ira McDonald
High North Inc Updates: RFC 2910 High North Inc
[Target Category: Standards Track] 2 April 2001 [Target Category: Standards Track] 10 January 2002
Expires 10 July 2002
Internet Printing Protocol (IPP):
IPP URL Scheme IPP URL Scheme
<draft-ietf-ipp-url-scheme-03.txt> <draft-ietf-ipp-url-scheme-04.txt>
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2002). 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.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
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 intended for use in registering the "ipp" URL scheme This memo defines the "ipp" URL scheme for registration by IANA in
with IANA and fully conforms to the requirements in [RFC-2717]. This the IETF tree. This memo fully conforms to the requirements in
document defines the "ipp" URL (Uniform Resource Locator) scheme for [RFC2717]. The "ipp" URL (Uniform Resource Locator) scheme is used
specifying the location of an IPP Printer, IPP Job, or other IPP for specifying the location of an IPP Printer, IPP Job, or other IPP
object (defined in some future version of IPP) which implements the object (defined in any future version of IPP) which implements the
IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP IPP/1.1 Model [RFC2911] and the IPP/1.1 Protocol encoding over HTTP
[RFC-2910] or any later version of IPP. The intended usage of the [RFC2910] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON. The IPP URL scheme defined in this "ipp" URL scheme is COMMON.
document is based on the ABNF for the HTTP URL scheme defined in
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 URLs). An IPP URL is transformed into an HTTP URL
according to the rules specified in section 5 of the IPP/1.1 Protocol
[RFC-2910].
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 ............................ 5 3. IPP Model for Printers and Jobs ............................ 5
4. IPP URL Scheme ............................................. 6 4. IPP URL Scheme ............................................. 6
4.1. IPP URL Scheme Applicability and Intended Usage ........ 6 4.1. Applicability and Intended Usage ....................... 6
4.2. IPP URL Scheme Associated IPP Port ..................... 6 4.2. Associated IPP Port .................................... 6
4.3. IPP URL Scheme Associated MIME Type .................... 6 4.3. Associated IPP MIME Type ............................... 6
4.4. IPP URL Scheme Character Encoding ...................... 6 4.4. Character Encoding ..................................... 6
4.5. IPP URL Scheme Syntax in ABNF .......................... 7 4.5. Syntax in ABNF ......................................... 7
4.5.1. IPP URL Examples ................................... 8 4.5.1. IPP URL Examples ................................... 8
4.5.2. IPP URL Comparisons ................................ 9 4.5.2. IPP URL Comparisons ................................ 9
5. Conformance Requirements ................................... 10 5. Conformance Requirements ................................... 10
5.1. Conformance Requirements for IPP Clients ............... 10 5.1. Conformance Requirements for IPP Clients ............... 10
5.2. Conformance Requirements for IPP Printers .............. 10 5.2. Conformance Requirements for IPP Printers .............. 10
6. IANA Considerations ........................................ 11 6. IANA Considerations ........................................ 11
7. Internationalization Considerations ........................ 11 7. Internationalization Considerations ........................ 11
8. Security Considerations .................................... 11 8. Security Considerations .................................... 11
9. References ................................................. 12 9. References ................................................. 12
10. Acknowledgments ........................................... 12 10. Acknowledgments ........................................... 12
11. Authors' Addresses ........................................ 13 11. Authors' Addresses ........................................ 13
12. Appendix X - Change History ............................... 13 12. Full Copyright Statement .................................. 14
13. Full Copyright Statement .................................. 15 13. Appendix X - Change History ............................... 15
1. Introduction 1. Introduction
See section 1 'Introduction' in [RFC-2911] for a full description of See section 1 'Introduction' in [RFC2911] for a full description of
the IPP document set and overview information about IPP. the IPP document set and overview information about IPP.
This document is intended for use in registering the "ipp" URL scheme This memo defines the "ipp" URL scheme for registration by IANA in
with IANA and fully conforms to the requirements in [RFC-2717]. This the IETF tree. This memo fully conforms to the requirements in
document defines the "ipp" URL (Uniform Resource Locator) scheme for [RFC2717]. The "ipp" URL (Uniform Resource Locator) scheme is used
specifying the location of an IPP Printer, IPP Job, or other IPP for specifying the location of an IPP Printer, IPP Job, or other IPP
object (defined in some future version of IPP) which implements the object (defined in any future version of IPP) which implements the
IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP IPP/1.1 Model [RFC2911] and the IPP/1.1 Protocol encoding over HTTP
[RFC-2910] or any later version of IPP. The intended usage of the [RFC2910] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON. "ipp" URL scheme is COMMON.
The IPP URL scheme defined in this document is based on the ABNF for
the HTTP URL scheme defined in HTTP/1.1 [RFC2616], which is derived
from the URI Generic Syntax [RFC2396] and further updated by
[RFC2732] and [RFC2373] (for IPv6 addresses in URLs). An IPP URL is
transformed into an HTTP URL according to the rules specified in
section 5 of the IPP/1.1 Encoding and Transport [RFC2910].
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 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 character encoding; - IPP URL scheme character encoding;
- IPP URL scheme syntax in ABNF [RFC2234];
- 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
model. model.
- Section 4 specifies IPP URL scheme. - Section 4 specifies the IPP URL scheme.
- Section 5 specifies the conformance requirements for IPP Clients - Section 5 specifies the conformance requirements for IPP Clients
and IPP Printers that claim conformance to this document. and IPP Printers that claim conformance to this document.
- Section 6, 7, and 8 specify IANA, internationalization, and - Sections 6, 7, and 8 specify IANA, internationalization, and
security considerations. security considerations.
- Sections 9, 10, 11, 12, and 13 list references, acknowledgements, - Sections 9, 10, 11, and 12 list references, acknowledgements,
authors' addresses, change history, and full IETF copyright authors' addresses, and full IETF copyright statement.
statement.
2. Terminology 2. Terminology
This specification document uses the terminology defined in this This specification document uses the terminology defined in this
section. section.
2.1. Conformance Terminology 2.1. Conformance Terminology
The uppercase terms "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL The uppercase terms "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT" "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in NOT" "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC-2119]. this document are to be interpreted as described in [RFC2119]. These
These terms are used to specify conformance requirements for all terms are used to specify conformance requirements for all
implementations of this specification. implementations of this specification.
2.2. Model Terminology 2.2. Model Terminology
See section 12.2 'Model Terminology' in [RFC-2911]. See section 12.2 'Model Terminology' in [RFC2911].
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 [RFC2911] for a full description of the
IPP object model and terminology. IPP object model and terminology.
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.1 [RFC-2910] [RFC-2911], or any later version of IPP to a IPP/1.1 [RFC2910] [RFC2911], or any later version of IPP to a
spooler, gateway, or actual printing device. spooler, gateway, or actual printing device.
In this document, "IPP Printer object" means the software (on some In this document, "IPP Printer object" means the software (on some
hardware platform) that receives print jobs and/or printer/job hardware platform) that receives print jobs and/or printer/job
operations via IPP/1.1 [RFC-2910] [RFC-2911], or any later version of operations via IPP/1.1 [RFC2910] [RFC2911], or any later version of
IPP from an "IPP Client". IPP from an "IPP Client".
In this document, "IPP Printer" is a synonym for "IPP Printer In this document, "IPP Printer" is a synonym for "IPP Printer
object". object".
In this document, "IPP Job object" means the set of attributes and In this document, "IPP Job object" means the set of attributes and
documents for one print job on an "IPP Printer". documents for one print job on an "IPP Printer".
In this document, "IPP Job" is a synonym for "IPP Job object". In this document, "IPP Job" is a synonym for "IPP Job object".
In this document, "IPP URL" means a URL with the "ipp" scheme. In this document, "IPP URL" means a URL with the "ipp" scheme.
Note: In this document, "IPP URL" is a synonym for "ipp_URL" (in Note: In this document, "IPP URL" is a synonym for "ipp_URL" (in
section 4 'IPP URL Scheme' of this document) and "ipp-URL" (in section 4 'IPP URL Scheme' of this document) and "ipp-URL" (in
section 5 'IPP URL Scheme' of [RFC-2910]). section 5 'IPP URL Scheme' of [RFC2910]).
4. IPP URL Scheme 4. IPP URL Scheme
4.1. IPP URL Scheme Applicability and Intended Usage 4.1. Applicability and Intended Usage
This document is intended for use in registering the "ipp" URL scheme This memo defines the "ipp" URL scheme for registration by IANA in
with IANA and fully conforms to the requirements in [RFC-2717]. This the IETF tree. This memo fully conforms to the requirements in
document defines the "ipp" URL (Uniform Resource Locator) scheme for [RFC2717]. The "ipp" URL (Uniform Resource Locator) scheme is used
specifying the location of an IPP Printer, IPP Job, or other IPP for specifying the location of an IPP Printer, IPP Job, or other IPP
object (defined in some future version of IPP) which implements the object (defined in any future version of IPP) which implements the
IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP IPP/1.1 Model [RFC2911] and the IPP/1.1 Protocol encoding over HTTP
[RFC-2910] or any later version of IPP. The intended usage of the [RFC2910] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON. "ipp" URL scheme is COMMON.
4.2. IPP URL Scheme Associated IPP Port 4.2. 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 well-known port 631 for the IPP protocol described in IANA-assigned well-known port 631, as registered in [IANA-PORTREG].
[RFC-2910].
See: IANA Port Numbers Registry [IANA-PORTREG]. registration with See: IANA Port Numbers Registry [IANA-PORTREG].
IANA. See: IPP Encoding and Transport [RFC2910].
4.3. IPP URL Scheme Associated MIME Type 4.3. Associated IPP 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: IANA MIME Media Types Registry [IANA-MIMEREG]. See: IANA MIME Media Types Registry [IANA-MIMEREG].
See: IPP Encoding and Transport [RFC2910].
4.4. IPP URL Scheme Character Encoding 4.4. Character Encoding
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 HTTP URL scheme defined in HTTP/1.1 [RFC-2616], which is derived the HTTP URL scheme defined in HTTP/1.1 [RFC2616], which is derived
from the URI Generic Syntax [RFC-2396] and further updated by from the URI Generic Syntax [RFC2396] and further updated by
[RFC-2732] and [RFC-2373] (for IPv6 addresses in URLs). The IPP URL [RFC2732] and [RFC2373] (for IPv6 addresses in URLs). An IPP URL is
scheme is case-insensitive in the host name or host address part; transformed into an HTTP URL according to the rules specified in
however the path part is case-sensitive, as in [RFC-2396]. section 5 of the IPP/1.1 Encoding and Transport [RFC2910].
Codepoints outside [US-ASCII] MUST be hex escaped by the mechanism
specified in [RFC-2396].
4.5. IPP URL Scheme Syntax in ABNF The IPP URL scheme is case-insensitive in the host name or host
address part; however the path part is case-sensitive, as in
[RFC2396]. Codepoints outside [US-ASCII] MUST be hex escaped by the
mechanism specified in [RFC2396].
4.5. Syntax in ABNF
Note: In this document, "IPP URL" is a synonym for "ipp_URL" (in Note: In this document, "IPP URL" is a synonym for "ipp_URL" (in
section 4 'IPP URL Scheme' of this document) and "ipp-URL" (in section 4 'IPP URL Scheme' of this document) and "ipp-URL" (in
section 5 'IPP URL Scheme' of [RFC-2910]). section 5 'IPP URL Scheme' of [RFC2910]).
This document is intended for use in registering the "ipp" URL scheme This memo defines the "ipp" URL scheme for registration by IANA in
with IANA and fully conforms to the requirements in [RFC-2717]. This the IETF tree. This memo fully conforms to the requirements in
document defines the "ipp" URL (Uniform Resource Locator) scheme for [RFC2717]. The "ipp" URL (Uniform Resource Locator) scheme is used
specifying the location of an IPP Printer, IPP Job, or other IPP for specifying the location of an IPP Printer, IPP Job, or other IPP
object (defined in some future version of IPP) which implements the object (defined in any future version of IPP) which implements the
IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP IPP/1.1 Model [RFC2911] and the IPP/1.1 Protocol encoding over HTTP
[RFC-2910] or any later version of IPP. The intended usage of the [RFC2910] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON. "ipp" URL scheme is COMMON.
The IPP protocol places a limit of 1023 octets (NOT characters) on The IPP protocol places a limit of 1023 octets (NOT characters) on
the length of a URI (see section 4.1.5 'uri' in [RFC-2911]). An IPP the length of a URI (see section 4.1.5 'uri' in [RFC2911]). An IPP
Printer MUST return 'client-error-request-value-too-long' (see 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 section 13.1.4.10 in [RFC2911]) when a URI received in a request
(e.g., in the "printer-uri" attribute) is too long. (e.g., in the "printer-uri" attribute) is too long.
Note: IPP Printers ought to be cautious about depending on URI Note: IPP Printers ought to be cautious about depending on URI
lengths above 255 bytes, because some older client implementations lengths above 255 bytes, because some older client implementations
might not properly support these lengths. might not properly support these lengths.
IPP URLs MUST be represented in absolute form. Absolute URLs always IPP URLs MUST be represented in absolute form. Absolute URLs always
begin with a scheme name followed by a colon. For definitive begin with a scheme name followed by a colon. For definitive
information on URL syntax and semantics, see "Uniform Resource information on URL syntax and semantics, see "Uniform Resource
Identifiers (URI): Generic Syntax and Semantics" [RFC-2396]. This Identifiers (URI): Generic Syntax and Semantics" [RFC2396]. This
specification adopts the definitions of "URI-reference", specification adopts the definitions of "host", "port", "abs_path",
"absoluteURI", "relativeURI", "port", "host","abs_path", "rel_path", "rel_path", and "query" from [RFC2396], as updated by [RFC2732] and
and "authority" from [RFC-2396], as updated by [RFC-2732] and [RFC2373] (for IPv6 addresses in URLs).
[RFC-2373] (for IPv6 addresses in URLs).
The IPP URL scheme syntax in ABNF is as follows: The IPP URL scheme syntax in ABNF is as follows:
ipp_URL = "ipp:" "//" host [ ":" port ] [ abs_path [ "?" query ]] ipp_URL = "ipp:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
If the port is empty or not given, port 631 is assumed. The If the port is empty or not given, port 631 is assumed. The
semantics are that the identified resource (see section 5.1.2 of semantics are that the identified resource (see section 5.1.2 of
[RFC-2616]) is located at the IPP Printer or IPP Job listening for [RFC2616]) is located at the IPP Printer or IPP Job listening for
HTTP connections on that port of that host, and the Request-URI for HTTP connections on that port of that host, and the Request-URI for
the identified resource is 'abs_path'. the identified resource is 'abs_path'.
If the 'abs_path' is not present in the URL, it MUST be given as "/" If the 'abs_path' is not present in the URL, it MUST be given as "/"
when used as a Request-URI for a resource (see section 5.1.2 of when used as a Request-URI for a resource (see section 5.1.2 of
[RFC-2616]). [RFC2616]).
4.5.1. IPP URL Examples 4.5.1. IPP URL Examples
The following are examples of valid IPP URLs for IPP Printers: The following are examples of valid IPP URLs for IPP Printers:
ipp://abc.com ipp://abc.com
ipp://abc.com/printer ipp://abc.com/printer
ipp://abc.com/tiger ipp://abc.com/tiger
ipp://abc.com/printers/tiger ipp://abc.com/printers/tiger
ipp://abc.com/printers/fox ipp://abc.com/printers/fox
skipping to change at page 8, line 51 skipping to change at page 9, line 4
The following literal IPv4 addresses: The following literal IPv4 addresses:
192.9.5.5 ; IPv4 address in IPv4 style 192.9.5.5 ; IPv4 address in IPv4 style
186.7.8.9 ; IPv4 address in IPv4 style 186.7.8.9 ; IPv4 address in IPv4 style
are represented in the following example IPP URLs: are represented in the following example IPP URLs:
ipp://192.9.5.5/prt1 ipp://192.9.5.5/prt1
ipp://186.7.8.9/printers/tiger/bob ipp://186.7.8.9/printers/tiger/bob
The following literal IPv6 addresses (conformant to [RFC2373]):
The following literal IPv6 addresses (conformant to [RFC-2373]):
::192.9.5.5 ; IPv4 address in IPv6 style ::192.9.5.5 ; IPv4 address in IPv6 style
::FFFF:129.144.52.38 ; 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 2010:836B:4179::836B:4179 ; IPv6 address per RFC 2373
are represented in the following example IPP URLs: are represented in the following example IPP URLs:
ipp://[::192.9.5.5]/prt1 ipp://[::192.9.5.5]/prt1
ipp://[::FFFF:129.144.52.38]:631/printers/tiger ipp://[::FFFF:129.144.52.38]:631/printers/tiger
ipp://[2010:836B:4179::836B:4179]/printers/tiger/bob ipp://[2010:836B:4179::836B:4179]/printers/tiger/bob
4.5.2. IPP URL Comparisons 4.5.2. IPP URL Comparisons
When comparing two IPP URLs to decide if they match or not, an IPP When comparing two IPP URLs to decide if they match or not, an IPP
Client MUST use the same rules as those defined for HTTP URI Client MUST use the same rules as those defined for HTTP URI
comparisons in [RFC-2616], with the sole following exception: comparisons in [RFC2616], with the sole following exception:
- A port that is empty or not given MUST be treated as equivalent to - A port that is empty or not given MUST be treated as equivalent to
the well-known port for that IPP URL (port 631); the well-known port for that IPP URL (port 631);
See: Section 3.2.3 'URI Comparison' in [RFC-2616]. See: Section 3.2.3 'URI Comparison' in [RFC2616].
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 IPP URLs (e.g., in the "printer-uri" operation attribute a) MUST send IPP URLs (e.g., in the "printer-uri" operation attribute
in 'Print-Job') that conform to the ABNF specified in section 4.5 in 'Print-Job') that conform to the ABNF specified in section 4.5
of this document; of this document;
b) MUST send IPP operations via the port specified in the IPP URL (if b) MUST send IPP operations via the port specified in the IPP URL (if
present) or otherwise via IANA assigned well-known port 631; present) or otherwise via IANA assigned well-known port 631;
c) MUST convert IPP URLs to their corresponding HTTP URL forms c) MUST convert IPP URLs to their corresponding HTTP URL forms
according to the rules in section 5 'IPP URL Scheme' in according to the rules in section 5 'IPP URL Scheme' in [RFC2910];
[RFC-2910];
d) SHOULD interoperate with IPP/1.0 Printers according to the rules d) SHOULD interoperate with IPP/1.0 Printers according to the rules
in section 9 'Interoperability with IPP/1.0 Implementations' and in section 9 'Interoperability with IPP/1.0 Implementations' and
section 9.2 'Security and URL Schemes' in [RFC-2910]. section 9.2 'Security and URL Schemes' in [RFC2910].
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) SHOULD reject received IPP URLs in "application/ipp" request a) SHOULD reject received IPP URLs in "application/ipp" request
bodies (e.g., in the "printer-uri" attribute in a 'Print-Job' bodies (e.g., in the "printer-uri" attribute in a 'Print-Job'
request) that do not conform to the ABNF for IPP URLs specified in request) that do not conform to the ABNF for IPP URLs specified in
section 4.5 of this document; section 4.5 of this document;
skipping to change at page 10, line 49 skipping to change at page 10, line 48
c) MUST listen for IPP operations on IANA-assigned well-known port c) MUST listen for IPP operations on IANA-assigned well-known port
631, unless explicitly configured by system administrators or site 631, unless explicitly configured by system administrators or site
policies; policies;
d) SHOULD NOT listen for IPP operations on any other port, unless d) SHOULD NOT listen for IPP operations on any other port, unless
explicitly configured by system administrators or site policies; explicitly configured by system administrators or site policies;
e) SHOULD interoperate with IPP/1.0 Clients according to the rules in e) SHOULD interoperate with IPP/1.0 Clients according to the rules in
section 9 'Interoperability with IPP/1.0 Implementations' and section 9 'Interoperability with IPP/1.0 Implementations' and
section 9.2 'Security and URL Schemes' in [RFC-2910]. section 9.2 'Security and URL Schemes' in [RFC2910].
6. IANA Considerations 6. IANA Considerations
This document is intended for use in registering the "ipp" URL scheme This memo defines the "ipp" URL scheme for registration by IANA in
with IANA and fully conforms to the requirements in [RFC-2717]. This the IETF tree. This memo fully conforms to the requirements in
document defines the "ipp" URL (Uniform Resource Locator) scheme for [RFC2717]. The "ipp" URL (Uniform Resource Locator) scheme is used
specifying the location of an IPP Printer, IPP Job, or other IPP for specifying the location of an IPP Printer, IPP Job, or other IPP
object (defined in some future version of IPP) which implements the object (defined in any future version of IPP) which implements the
IPP/1.1 Model [RFC-2911] and the IPP/1.1 Protocol encoding over HTTP IPP/1.1 Model [RFC2911] and the IPP/1.1 Protocol encoding over HTTP
[RFC-2910] or any later version of IPP. The intended usage of the [RFC2910] or any later version of IPP. The intended usage of the
"ipp" URL scheme is COMMON. "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 [RFC2910] and
[RFC-2911]. [RFC2911].
See: Section 6 'IANA Considerations' in [RFC-2910] See: Section 6 'IANA Considerations' in [RFC2910]
See: Section 6 'IANA Considerations' in [RFC-2911]. See: Section 6 'IANA Considerations' in [RFC2911].
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
internationalization considerations, beyond those described in internationalization considerations, beyond those described in
[RFC-2910] and [RFC-2911]. [RFC2910] and [RFC2911].
See: Section 7 'Internationalization Considerations' in [RFC-2910]. See: Section 7 'Internationalization Considerations' in [RFC2910].
See: Section 7 'Internationalization Considerations' in [RFC-2911]. See: Section 7 'Internationalization Considerations' in [RFC2911].
8. Security Considerations 8. Security Considerations
This IPP URL Scheme specification does not introduce any additional This IPP URL Scheme specification does not introduce any additional
security considerations, beyond those described in [RFC-2910] and security considerations, beyond those described in [RFC2910] and
[RFC-2911]. [RFC2911].
See: Section 8 'Security Considerations' in [RFC-2910]. See: Section 8 'Security Considerations' in [RFC2910].
See: Section 8 'Security Considerations' in [RFC-2911]. See: Section 8 'Security Considerations' in [RFC2911].
9. References 9. References
See: Section 10 'References' in [RFC-2910]. See: Section 10 'References' in [RFC2910].
[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.iana.org/in-notes/iana/assignments/media-types/...
[IANA-PORTREG] IANA Port Numbers Registry. [IANA-PORTREG] IANA Port Numbers Registry.
ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers ftp://ftp.iana.org/in-notes/iana/assignments/port-numbers
[RFC-2234] D. Crocker, P. Overell. Augmented BNF for Syntax [RFC2234] D. Crocker, P. Overell. Augmented BNF for Syntax
Specifications: ABNF, RFC 2234, November 1997. Specifications: ABNF, RFC 2234, November 1997.
[RFC-2373] R. Hinden, S. Deering. IP Version 6 Addressing [RFC2373] R. Hinden, S. Deering. IP Version 6 Addressing
Architecture, RFC 2373, July 1998. Architecture, RFC 2373, July 1998.
[RFC-2396] T. Berners-Lee, R. Fielding, L. Masinter. Uniform [RFC2396] T. Berners-Lee, R. Fielding, L. Masinter. Uniform Resource
Resource Identifiers (URI): Generic Syntax, RFC 2396, August 1998. Identifiers (URI): Generic Syntax, RFC 2396, August 1998.
[RFC-2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, [RFC2616] 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-2717] R. Petke, I. King. Registration Procedures for URL Scheme [RFC2717] R. Petke, I. King. Registration Procedures for URL Scheme
Names, RFC 2717, November 1999. Names, RFC 2717, November 1999.
[RFC-2732] R. Hinden,B. Carpenter, L. Masinter. Format for Literal [RFC2732] R. Hinden,B. Carpenter, L. Masinter. Format for Literal
IPv6 Addresses in URL's, RFC 2732, December 1999. IPv6 Addresses in URL's, RFC 2732, December 1999.
[RFC-2910] R. Herriot, S. Butler, P. Moore, R. Turner, J. Wenn. [RFC2910] 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. [RFC2911] 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.
[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). Group of the Internet Engineering Task Force (IETF).
Thanks to Pat Fleming (IBM), Tom Hastings (Xerox), Harry Lewis (IBM), Thanks to Pat Fleming (IBM), Tom Hastings (Xerox), Harry Lewis (IBM),
Hugo Parra (Novell), Don Wright (Lexmark), and all the members of the Hugo Parra (Novell), Don Wright (Lexmark), and all the members of the
IETF IPP WG. IETF IPP WG.
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 [RFC2910] was the primary input to this IPP URL Scheme specification.
specification.
11. Authors' Addresses 11. Authors' Addresses
Robert Herriot Robert Herriot
Xerox Corporation Consultant
3400 Hill View Ave, Building 1 706 Colorado Ave
Palo Alto, CA 94304 Palo Alto, CA 94303
Phone: +1 650-813-7696 Phone: +1 650-327-4466
Fax: +1 650-813-6860 Fax: +1 650-327-4466
Email: robert.herriot@pahv.xerox.com Email: bob@herriot.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 or +1 906-494-2697
Email: imcdonald@crt.xerox.com
Email: imcdonald@sharplabs.com Email: imcdonald@sharplabs.com
Usage questions and comments on this IPP URL Scheme should be sent to Usage questions and comments on this IPP URL Scheme should be sent
the IETF IPP WG mailing list at 'ipp@pwg.org'. directly to the editors at their above addresses (and to the IPP
mailing list, if you are a subscriber - see below).
12. Appendix X - Change History IPP Web Page: http://www.pwg.org/ipp/
IPP Mailing List: ipp@pwg.org
To subscribe to the IPP mailing list, send the following email:
1) send it to majordomo@pwg.org
2) leave the subject line blank
3) put the following two lines in the message body:
subscribe ipp
end
Implementers of this specification are encouraged to join the IPP
Mailing List in order to participate in any discussions of
clarification issues and comments. In order to reduce spam the
mailing list rejects mail from non-subscribers, so you must subscribe
to the mailing list in order to send a question or comment to the IPP
mailing list.
12. Full Copyright Statement
Copyright (C) The Internet Society (2002). 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.
13. Appendix X - Change History
[To be deleted before RFC publication] [To be deleted before RFC publication]
10 January 2002 - draft-ietf-ipp-url-scheme-04.txt
- final edits after IESG 'last call' comments;
- revised all titles in sections 4.x to remove redundant prefix of
'IPP URL Scheme', for readability;
- revised 'Abstract', section 1 'Introduction', section 4.1
'Applicability and Intended Usage', section 4.5 'Syntax in ABNF',
and section 6 'IANA Considerations', to explicitly state that the
"ipp" URL scheme is intended for IANA registration in the IETF URL
scheme tree;
- revised section 4.5 'Syntax in ABNF', to delete references to
unused ABNF components from [RFC2396];
- revised section 11 'Authors' Addresses', to update contact info for
both editors and to add the IPP Web page and mailing list
subscription info;
- moved 'Appendix X - Change History' to back of document, to
facilitate final edits for RFC publication (including deletion of
change history);
2 April 2001 - draft-ietf-ipp-url-scheme-03.txt 2 April 2001 - draft-ietf-ipp-url-scheme-03.txt
- final edits after IETF IPP WG 'last call' comments; - final edits after IETF IPP WG 'last call' comments;
- revised 'Abstract' and section 1 'Introduction' to remove - revised 'Abstract' and section 1 'Introduction' to remove
references to ISSUE's and request for comments to the 'ipp@pwg.org' references to ISSUE's and request for comments to the 'ipp@pwg.org'
mailing list, in preparation for publication as an RFC; mailing list, in preparation for publication as an RFC;
- revised section 4.5 'IPP URL Scheme Syntax in ABNF' to delete all - revised section 4.5 'IPP URL Scheme Syntax in ABNF' to delete all
references to HTTP proxy behavior (which IPP does NOT specify), per references to HTTP proxy behavior (which IPP does NOT specify), per
request of Don Wright; request of Don Wright;
- revised section 4.5.1 'IPP URL Examples' to remove note - revised section 4.5.1 'IPP URL Examples' to remove note
discouraging the use of literal IP addresses in URLs, to remove discouraging the use of literal IP addresses in URLs, to remove
dependency on Informational [RFC-1900]; dependency on Informational [RFC1900];
- revised section 4.5.2 'IPP URL Comparisons' to specify the use of - revised section 4.5.2 'IPP URL Comparisons' to specify the use of
rules defined in section 3.2.3 'URI Comparison' in [RFC-2616], with rules defined in section 3.2.3 'URI Comparison' in [RFC2616], with
the sole exception that an empty port MUST be treated as equivalent the sole exception that an empty port MUST be treated as equivalent
to the IPP well-known port 631, per request of Don Wright; to the IPP well-known port 631, per request of Don Wright;
- revised section 9 'References' to delete all unused references; - revised section 9 'References' to delete all unused references;
- revised section 11 'Authors' Addresses' to add the address of the - revised section 11 'Authors' Addresses' to add the address of the
IPP WG mailing list for usage questions and comments; IPP WG mailing list for usage questions and comments;
13 February 2001 - draft-ietf-ipp-url-scheme-02.txt 13 February 2001 - draft-ietf-ipp-url-scheme-02.txt
- revised section 3 'IPP Model for Printers and Jobs' and section 4.5 - revised section 3 'IPP Model for Printers and Jobs' and section 4.5
'IPP URL Scheme Syntax in ABNF' to add notes stating that "IPP URL" 'IPP URL Scheme Syntax in ABNF' to add notes stating that "IPP URL"
(in this document) is a synonym for "ipp-URL" in [RFC-2910], per (in this document) is a synonym for "ipp-URL" in [RFC2910], per
request of Bob Herriot; request of Bob Herriot;
- revised section 4.5 'IPP URL Scheme Syntax in ABNF' to correct typo - revised section 4.5 'IPP URL Scheme Syntax in ABNF' to correct typo
that showed "http:" rather than "ipp:" in the one-line ABNF, per that showed "http:" rather than "ipp:" in the one-line ABNF, per
request of Tom Hastings; request of Tom Hastings;
- revised section 4.5.1 'IPP URL Examples' to add a note discouraging - revised section 4.5.1 'IPP URL Examples' to add a note discouraging
the use of literal IP addresses in URLs, per [RFC-2616] and the use of literal IP addresses in URLs, per [RFC2616] and
[RFC-1900]; [RFC1900];
5 February 2001 - draft-ietf-ipp-url-scheme-01.txt 5 February 2001 - draft-ietf-ipp-url-scheme-01.txt
- revised section 4.1 'IPP URL Applicability and Intended Usage' to - revised section 4.1 'IPP URL Applicability and Intended Usage' to
clarify that a given IPP URL MAY identify an IPP Printer object or clarify that a given IPP URL MAY identify an IPP Printer object or
an IPP Job object, per request of Tom Hastings; an IPP Job object, per request of Tom Hastings;
- revised section 4.5 'IPP URL Scheme Syntax in ABNF' to define IPP - 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 URLs consistently with section 3.2.2 'http URL' of HTTP/1.1
[RFC-2616], per request of Tom Hastings; [RFC2616], per request of Tom Hastings;
- revised section 4.5 'IPP URL Scheme Syntax in ABNF' to clarify that - revised section 4.5 'IPP URL Scheme Syntax in ABNF' to clarify that
IPP URLs may reference IPP Printer objects, IPP Job objects, or IPP URLs may reference IPP Printer objects, IPP Job objects, or
(possibly other future) IPP objects, per request of Bob Herriot; (possibly other future) IPP objects, per request of Bob Herriot;
- added section 4.5.1 'IPP URL Examples' to supply meaningful - added section 4.5.1 'IPP URL Examples' to supply meaningful
examples of IPP URLs with host names, IPv4 addresses, and IPv6 examples of IPP URLs with host names, IPv4 addresses, and IPv6
addresses, per request of Tom Hastings; addresses, per request of Tom Hastings;
- added section 4.5.2 'IPP URL Comparisons' to define IPP URL - added section 4.5.2 'IPP URL Comparisons' to define IPP URL
comparisons consistently with section 3.3 'URI Comparison' of comparisons consistently with section 3.3 'URI Comparison' of
HTTP/1.1 [RFC-2616], per request of Tom Hastings; HTTP/1.1 [RFC2616], per request of Tom Hastings;
- revised section 5.1 'Conformance Requirements for IPP Clients' to - revised section 5.1 'Conformance Requirements for IPP Clients' to
clarify that an IPP Client MUST convert IPP URLs to their clarify that an IPP Client MUST convert IPP URLs to their
corresponding HTTP URL forms according to section 5 'IPP URL corresponding HTTP URL forms according to section 5 'IPP URL
Scheme' in [RFC-2910], per request of Tom Hastings and Bob Herriot; Scheme' in [RFC2910], per request of Tom Hastings and Bob Herriot;
- revised section 5.1 'Conformance Requirements for IPP Clients' and - revised section 5.1 'Conformance Requirements for IPP Clients' and
section 5.2 'Conformance Requirements for IPP Printers' to clarify section 5.2 'Conformance Requirements for IPP Printers' to clarify
that IPP Clients and IPP Printers SHOULD interoperate with IPP/1.0 that IPP Clients and IPP Printers SHOULD interoperate with IPP/1.0
systems according to section 9 'Interoperability with IPP/1.0 systems according to section 9 'Interoperability with IPP/1.0
Implementations' in [RFC-2910], per request of Carl Kugler; Implementations' in [RFC2910], per request of Carl Kugler;
- revised section 5.2 'Conformance Requirements for IPP Printers' to - revised section 5.2 'Conformance Requirements for IPP Printers' to
clarify that an IPP Printer MUST listen on (IANA assigned clarify that an IPP Printer MUST listen on (IANA assigned
well-known) port 631, unless explicitly configured, per request of well-known) port 631, unless explicitly configured, per request of
Michael Sweet; Michael Sweet;
- revised section 5.2 'Conformance Requirements for IPP Printers' to - revised section 5.2 'Conformance Requirements for IPP Printers' to
clarify that an IPP Printer SHOULD NOT listen on ports other than clarify that an IPP Printer SHOULD NOT listen on ports other than
(IANA assigned well-known) port 631, unless explicitly configured, (IANA assigned well-known) port 631, unless explicitly configured,
per request of Don Wright; per request of Don Wright;
- revised section 6 'IANA Considerations' to clarify that the sole - revised section 6 'IANA Considerations' to clarify that the sole
purpose of the entire document is IANA registration of the "ipp" purpose of the entire document is IANA registration of the "ipp"
skipping to change at page 15, line 20 skipping to change at line 624
unnecessary (MIME registry has recently caught up to RFC 2910); 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 and IPP/1.1 implementations); query part (consistent with existing and IPP/1.1 implementations);
- added Appendix A 'Registration of IPP Port' (placeholder) for - added Appendix A 'Registration of IPP Port' (placeholder) for
updated IANA registration of port 631 with references to IPP/1.1; updated IANA registration of port 631 with references to IPP/1.1;
- added Appendix B 'Registration of MIME "application/ipp"' with - added Appendix B 'Registration of MIME "application/ipp"' with
updated IANA registration for IPP MIME type with references to both updated IANA registration for IPP MIME type with references to both
IPP/1.0 and IPP/1.1; 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.
 End of changes. 

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