INTERNET-DRAFT Robert Herriot Sun Microsystems Carl-Uno Manros Xerox Corporation November 16, 1998 Internet Printing Protocol/NV: IPP URL Scheme Status of this memo This document is an Internet-Draft. 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 learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Abstract Internet Printing Protocol/NV (IPP/NV) is the next version of IPP, which is an application level protocol for distributed printing on the Internet. This document describes a new 'ipp' scheme, which is intended to identify URLs that reference an IPP printing service. IPP/1.0 is described by the following documents: Internet Printing Protocol/1.0: Model and Semantics [IPP-MOD] Internet Printing Protocol/1.0: Encoding and Transport [IPP-PRO] Herriot and Manros Page 1 Expires May 16, 1999 INTERNET-DRAFT IPP/NV: IPP URL Scheme November 16, 1998 1 Introduction This document states that IPP must support a new scheme 'ipp', which clients and servers use in IPP attributes. Such attributes are in a message body whose Content-Type is application/ipp. A client maps 'ipp' URLs to 'http' URLs, and then follows the HTTP [RFC2068][RFC2069] rules for constructing a Request-Line and HTTP headers. The 'ipp' scheme implies all of the same protocol semantics as that of the 'http' scheme [RFC2068], except that it represents a print service and the implicit (default) port number that clients use to connect to a server is port 631. In the remainder of this document the term 'ipp-URL' means a URL whose scheme is 'ipp' and whose implicit (default) port is 631. The term 'http-URL' means a URL whose scheme is 'http', and the term 'https-URL' means a URL whose scheme is 'https', 2 IPP URL Scheme A client and an IPP object (i.e. the server) MUST support the ipp-URL value in the following IPP attributes. job attributes: job-uri job-printer-uri printer attributes: printer-uri-supported operation attributes: job-uri printer-uri Each of the above attributes identifies a printer or job object. The ipp-URL is intended as the value of the attributes in this list, and for no other attributes. All of these attributes have a syntax type of 'uri', but there are attributes with a syntax type of 'uri' that do not use the 'ipp' scheme, e.g. 'job-more-info'. If a printer registers its URL with a directory service, the printer MUST register an ipp-URL. User interfaces are beyond the scope of this document. But if software exposes the ipp-URL values of any of the above five attributes to a human user, it is REQUIRED that the human see the ipp-URL as is. When a client sends a request, it MUST convert a target ipp-URL to a target http-URL according to the following rules: 1. change the 'ipp' scheme to 'http' 2. add an explicit port 631 if the URL does not contain an explicit port. Note: port 631 is the IANA-reserved TCP port number. The client MUST use the target http-URL in both the HTTP Request-Line and HTTP headers, as specified by HTTP[RFC2068][RFC2069] . However, the client must use the target ipp-URL for the value of the "printer-uri" or "job-uri" attribute within the application/ipp body of the request. Herriot and Manros Page 2 Expires May 16, 1999 INTERNET-DRAFT IPP/NV: IPP URL Scheme November 16, 1998 For example, when an IPP client sends a request directly (i.e. no proxy) to an ipp-URL "ipp://myhost.com/myprinter/myqueue", it opens a TCP connection to port 631 (the ipp implicit port) on the host "myhost.com" and sends the following data: POST /myprinter/myqueue HTTP/1.1 Host: myhost.com:631 Content-type: application/ipp Transfer-Encoding: chunked ... "printer-uri" "ipp://myhost.com/myprinter/myqueue" (encoded in application/ipp message body) ... As another example, when an IPP client sends the same request as above via a proxy "myproxy.com", it opens a TCP connection to the proxy port 8080 on the proxy host "myproxy.com" and sends the following data: POST http://myhost.com:631/myprinter/myqueue HTTP/1.1 Host: myhost.com:631 Content-type: application/ipp Transfer-Encoding: chunked ... "printer-uri" "ipp://myhost.com/myprinter/myqueue" (encoded in application/ipp message body) ... The proxy then connects to the IPP origin server with headers that are the same as the "no-proxy" example above. 3 Compatibility with IPP/1.0 For compatibility with IPP/1.0, clients and IPP objects (i.e. a server) MUST support additional schemes as described in this section: @ If a server receives an IPP/1.0 request, it MUST return an IPP/1.0 response. That is, it MUST support an http-URL in the target "printer-uri" and "job-uri" operation attributes in a request. If the server returns any of the 3 attributes, "job-uri", "job- printer-uri" or "printer-uri-supported" in the response, the value of these attributes MUST be http-URLs. For security, a server MAY also support https-URLs. @ When a server returns the printer attribute "printer-uri- supported", it MUST return all supported values for an IPP/NV request. For an IPP/1.0 request, a server MUST NOT return values that are ipp-URLs, i.e. it MUST return only the http-URLs and https-URLs. @ The table below shows the type of URL that a server returns for the "job-uri" and "job-printer-uri" job attributes for all operations based on how the job was created. The "or" in the table below indicates an implementation option. Herriot and Manros Page 3 Expires May 16, 1999 INTERNET-DRAFT IPP/NV: IPP URL Scheme November 16, 1998 Operation Job created via attribute ipp http https s for a request ipp ipp ipp No URL returned http http http No URL returned https https https or https or http http @ If a server registers an ipp-URL with a name service, then it MUST also register an http-URL. If a printer supports a secure connection using SSL3, then it MUST register an https-URL. @ An IPP/NV client MUST use an ipp-URL for non-secure printers unless it receives a "version not supported" error message. Then it MUST try to send a request in version 1.0, using the http-URL in place of the ipp-URL for the target "job-uri" and "printer-uri" operation attributes in the request. For secure printers, an IPP/NV client must operate as an IPP/1.0 client and use an https-URL. An IPP/1.0 client MUST use an http-URL for non-secure printers and an https- URL for secure printers. 4 Security See the sections on security in the "Internet Printing Protocol/1.0: Model and Semantics" [IPP-MOD] and "Internet Printing Protocol/1.0: Encoding and Transport" [IPP-PRO]. 5 References [IPP-MOD] Isaacson, S., deBry, R., Hastings, T., Herriot, R., Powell, P. "Internet Printing Protocol/1.0: Model and Semantics" draft-ietf-ipp- mod-11.txt, November, 1998. [IPP-PRO] Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing Protocol/1.0: Encoding and Transport", draft-ietf-ipp-pro-07.txt, November, 1998. [IPP-REQ] Wright, D., "Design Goals for an Internet Printing Protocol", draft- ietf-ipp-req-03.txt, November, 1998. Herriot and Manros Page 4 Expires May 16, 1999 INTERNET-DRAFT IPP/NV: IPP URL Scheme November 16, 1998 [RFC2068] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee, "Hypertext Transfer Protocol - HTTP/1.1", RFC 2068, January 1997 [RFC2069] J. Franks, P. Hallam-Baker, J. Hostetler, P. Leach, A. Luotonen, E. Sink, L. Stewart, "An Extension to HTTP: Digest Access Authentication", RFC-2069, Jan 1997. 5.1 Authors' Address Robert Herriot Sun Microsystems 901 San Antonio Road, MPK-17 Palo Alto, CA 94303 robert.herriot@eng.sun.com Carl-Uno Manros Xerox Corporation 701 Aviation Blvd. El Segundo, CA 90245 manros@cp10.es.xerox.com Herriot and Manros Page 5 Expires May 16, 1999