📄 rfc2639.txt
字号:
of requests just before the Document Content and at the end of
response, except for the Get-Jobs response, where it maybe there or
before the first job attributes returned. If an IPP object receives
an unknown attribute group in these positions, it ignores the entire
group, rather than returning an error, since that group may be a new
group in a later minor version of the protocol that can be ignored.
(If the new attribute group cannot be ignored without confusing the
client, the major version number would have been increased in the
Hastings & Manros Informational [Page 12]
RFC 2639 IPP/1.0: Implementer's Guide July 1999
protocol document and in the request). If the unknown group occurs
in a different position, the IPP object REJECTS the request and
RETURNS the 'client-error-bad-request' status code.
Clients also ignore unknown attribute groups returned in a response.
Note: By validating that requests are in the proper form, IPP
objects force clients to use the proper form which, in turn,
increases the chances that customers will be able to use such clients
from multiple vendors with IPP objects from other vendors.
2.2.1.4.3 Validate the presence of a single occurrence of required
Operation attributes
Client requests and IPP object responses contain Operation attributes
that [RFC2566] Section 3 requires to be present. Attributes within a
group may be in any order, except for the ordering of target,
charset, and natural languages attributes. These attributes MUST be
first, and MUST be supplied in the following order: charset, natural
language, and then target. An IPP object verifies that the attributes
that Section 4 requires to be supplied by the client have been
supplied in the request (attributes without an * in the following
tables). An asterisk (*) indicates groups and Operation attributes
that the client may omit in a request or an IPP object may omit in a
response.
If an IPP object receives a request with required attributes missing
or repeated from a group or in the wrong position, the behavior of
the IPP object is IMPLEMENTATION DEPENDENT. Some of the possible
implementations are:
1.REJECTS the request and RETURNS the 'client-error-bad-request'
status code
2.accepts the request and uses the first occurrence of the
attribute no matter where it is
3.accepts the request and uses the last occurrence of the
attribute no matter where it is
4.accept the request and assume some default value for the missing
attribute
Therefore, client MUST send conforming requests, if they want to
receive the same behavior from all IPP object implementations. For
example, it is an error for the "attributes-charset" or "attributes-
natural-language" attribute to be omitted in any operation request,
or for an Operation attribute to be supplied in a Job Template group
Hastings & Manros Informational [Page 13]
RFC 2639 IPP/1.0: Implementer's Guide July 1999
or a Job Template attribute to be supplied in an Operation Attribute
group in a create request. It is also an error to supply the
"attributes-charset" attribute twice.
Since these kinds of attribute errors are most likely to be detected
by a client developer rather than by a customer, the IPP object NEED
NOT return an indication of which attribute was in error in either
the Unsupported Attributes group or the Status Message. Also, the
IPP object NEED NOT find all attribute errors before returning this
error.
The following tables list all the attributes for all the operations
by attribute group in each request and each response. The order of
the groups is the order that the client supplies the groups as
specified in [RFC2566] Section 3. The order of the attributes within
a group is arbitrary, except as noted for some of the special
operation attributes (charset, natural language, and target). The
tables below use the following notation:
R indicates a REQUIRED attribute that an IPP object MUST support
O indicates an OPTIONAL attribute that an IPP object NEED NOT
support
* indicates that a client MAY omit the attribute in a request
and that an IPP object MAY omit the attribute in a
response. The absence of an * means that a client MUST
supply the attribute in a request and an IPP object MUST
supply the attribute in a response.
Operation Requests
The tables below show the attributes in their proper attribute groups
for operation requests:
Note: All operation requests contain "version-number", "operation-
id", and "request-id" parameters.
Print-Job Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
printer-uri (R)
requesting-user-name (R*)
job-name (R*)
ipp-attribute-fidelity (R*)
document-name (R*)
document-format (R*)
document-natural-language (O*)
compression (O*)
Hastings & Manros Informational [Page 14]
RFC 2639 IPP/1.0: Implementer's Guide July 1999
job-k-octets (O*)
job-impressions (O*)
job-media-sheets (O*)
Group 2: Job Template Attributes (R*)
<Job Template attributes> (O*)
(see [RFC2566] Section 4.2)
Group 3: Document Content (R)
<document content>
Validate-Job Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
printer-uri (R)
requesting-user-name (R*)
job-name (R*)
ipp-attribute-fidelity (R*)
document-name (R*)
document-format (R*)
document-natural-language (O*)
compression (O*)
job-k-octets (O*)
job-impressions (O*)
job-media-sheets (O*)
Group 2: Job Template Attributes (R*)
<Job Template attributes> (O*)
(see [RFC2566] Section 4.2)
Create-Job Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
printer-uri (R)
requesting-user-name (R*)
job-name (R*)
ipp-attribute-fidelity (R*)
job-k-octets (O*)
job-impressions (O*)
job-media-sheets (O*)
Group 2: Job Template Attributes (R*)
<Job Template attributes> (O*) (see
(see [RFC2566] Section 4.2)
Print-URI Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
printer-uri (R)
Hastings & Manros Informational [Page 15]
RFC 2639 IPP/1.0: Implementer's Guide July 1999
document-uri (R)
requesting-user-name (R*)
job-name (R*)
ipp-attribute-fidelity (R*)
document-name (R*)
document-format (R*)
document-natural-language (O*)
compression (O*)
job-k-octets (O*)
job-impressions (O*)
job-media-sheets (O*)
Group 2: Job Template Attributes (R*)
<Job Template attributes> (O*) (see
(see [RFC2566] Section 4.2)
Send-Document Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
(printer-uri & job-id) | job-uri (R)
last-document (R)
requesting-user-name (R*)
document-name (R*)
document-format (R*)
document-natural-language (O*)
compression (O*)
Group 2: Document Content (R*)
<document content>
Send-URI Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
(printer-uri & job-id) | job-uri (R)
last-document (R)
document-uri (R)
requesting-user-name (R*)
document-name (R*)
document-format (R*)
document-natural-language (O*)
compression (O*)
Hastings & Manros Informational [Page 16]
RFC 2639 IPP/1.0: Implementer's Guide July 1999
Cancel-Job Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
(printer-uri & job-id) | job-uri (R)
requesting-user-name (R*)
message (O*)
Get-Printer-Attributes Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
printer-uri (R)
requesting-user-name (R*)
requested-attributes (R*)
document-format (R*)
Get-Job-Attributes Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
(printer-uri & job-id) | job-uri (R)
requesting-user-name (R*)
requested-attributes (R*)
Get-Jobs Request:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
printer-uri (R)
requesting-user-name (R*)
limit (R*)
requested-attributes (R*)
which-jobs (R*)
my-jobs (R*)
Operation Responses
The tables below show the response attributes in their proper
attribute groups for responses.
Note: All operation responses contain "version-number", "status-
code", and "request-id" parameters.
Print-Job Response:
Print-URI Response:
Create-Job Response:
Hastings & Manros Informational [Page 17]
RFC 2639 IPP/1.0: Implementer's Guide July 1999
Send-Document Response:
Send-URI Response:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
status-message (O*)
Group 2: Unsupported Attributes (R*) (see Note 3)
<unsupported attributes> (R*)
Group 3: Job Object Attributes(R*) (see Note 2)
job-uri (R)
job-id (R)
job-state (R)
job-state-reasons (O*)
job-state-message (O*)
number-of-intervening-jobs (O*)
Validate-Job Response:
Cancel-Job Response:
Group 1: Operation Attributes (R)
attributes-charset (R)
attributes-natural-language (R)
status-message (O*)
Group 2: Unsupported Attributes (R*) (see Note 3)
<unsupported attributes> (R*)
Note 2 - the Job Object Attributes and Printer Object Attributes are
returned only if the IPP object returns one of the success status
codes.
Note 3 - the Unsupported Attributes Group is present only if the
client included some Operation and/or Job Template attributes or
values that the Printer doesn't support whether a success or an error
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -