document. However, there can be identical copies of the stream in
other documents in the same or different Job objects. If the
contained document is just a reference to a stream of document data,
other documents (in the same or different Job object(s)) may contain
the same reference.
2.4 Object Identity
All Printer and Job objects are identified by a Uniform Resource
Identifier (URI) [RFC2396] so that they can be persistently and
unambiguously referenced. The notion of a URI is a useful concept,
however, until the notion of URI is more stable (i.e., defined more
completely and deployed more widely), it is expected that the URIs
used for IPP objects will actually be URLs [RFC2396]. Since every
URL is a specialized form of a URI, even though the more generic term
URI is used throughout the rest of this document, its usage is
intended to cover the more specific notion of URL as well.
An administrator configures Printer objects to either support or not
support authentication and/or message privacy using SSL3 [SSL] (the
mechanism for security configuration is outside the scope of
IPP/1.0). In some situations, both types of connections (both
authenticated and unauthenticated) can be established using a single
communication channel that has some sort of negotiation mechanism.
In other situations, multiple communication channels are used, one
for each type of security configuration. Section 8 provides a full
description of all security considerations and configurations.
If a Printer object supports more than one communication channel,
some or all of those channels might support and/or require different
security mechanisms. In such cases, an administrator could expose
the simultaneous support for these multiple communication channels as
multiple URIs for a single Printer object where each URI represents
one of the communication channels to the Printer object. To support
this flexibility, the IPP Printer object type defines a multi-valued
identification attribute called the "printer-uri-supported"
attribute. It MUST contain at least one URI. It MAY contain more
than one URI. That is, every Printer object will have at least one
RFC 2566 IPP/1.0: Model and Semantics April 1999
URI that identifies at least one communication channel to the Printer
object, but it may have more than one URI where each URI identifies a
different communication channel to the Printer object. The
"printer-uri-supported" attribute has a companion attribute, the
"uri-security-supported" attribute, that has the same cardinality as
"printer-uri-supported". The purpose of the "uri-security-supported"
attribute is to indicate the security mechanisms (if any) used for
each URI listed in "printer-uri-supported". These two attributes are
fully described in sections 4.4.1 and 4.4.2.
When a job is submitted to the Printer object via a create request,
the client supplies only a single Printer object URI. The client
supplied Printer object URI MUST be one of the values in the
"printer-uri-supported" Printer attribute.
Note: IPP/1.0 does not specify how the client obtains the client
supplied URI, but it is RECOMMENDED that a Printer object be
registered as an entry in a directory service. End-users and
programs can then interrogate the directory searching for Printers.
Section 16 defines a generic schema for Printer object entries in the
directory service and describes how the entry acts as a bridge to the
actual IPP Printer object. The entry in the directory that
represents the IPP Printer object includes the possibly many URIs for
that Printer object as values in one its attributes.
When a client submits a create request to the Printer object, the
Printer object validates the request and creates a new Job object.
The Printer object assigns the new Job object a URI which is stored
in the "job-uri" Job attribute. This URI is then used by clients as
the target for subsequent Job operations. The Printer object
generates a Job URI based on its configured security policy and the
URI used by the client in the create request.
For example, consider a Printer object that supports both a
communication channel secured by the use of SSL3 (using HTTP over
SSL3 with an "https" schemed URI) and another open communication
channel that is not secured with SSL3 (using a simple "http" schemed
URI). If a client were to submit a job using the secure URI, the
Printer object would assign the new Job object a secure URI as well.
If a client were to submit a job using the open-channel URI, the
Printer would assign the new Job object an open-channel URI.
In addition, the Printer object also populates the Job object's
"job-printer-uri" attribute. This is a reference back to the Printer
object that created the Job object. If a client only has access to a
Job object's "job-uri" identifier, the client can query the Job's
"job-printer-uri" attribute in order to determine which Printer
object created the Job object. If the Printer object supports more
RFC 2566 IPP/1.0: Model and Semantics April 1999
=9= |