DICOM PS3.18 2021e - Web Services

8.4 Header Fields

The following sections specify important header fields, some of which have stronger requirements than those specified in the HTTP Standard.

8.4.1 Content Negotiation Header Fields

HTTP uses the Accept and Content-Type header fields for content negotiation and data typing. The media types in the Accept header field of a request define the media types that the user agent would find acceptable in the response. The media type in the Content-Type header field of a message, or payload part, describes the format of the representation contained in the message payload or payload part.

Content Negotiation header fields in requests allow the user agent to specify acceptable representations for the response. Table 8.4.1-1 lists the content negotiation header fields. The values in these fields apply to any content in the response, including representations of the Target Resource, representations of error or processing status, and potentially even the miscellaneous text strings that might appear within the HTTP protocol. See [RFC7231] Section 5.3.

Table 8.4.1-1. Content Negotiation Header Fields

Name

Value

Usage

Description

Accept

1#media-range

M

All requests that expect to receive a response with a payload shall contain an Accept header field. See Section 8.4.1.1.

Accept-Charset

1#charset

O

The Accept-Charset header field may be sent by a user agent to indicate what charsets are acceptable in response content. See [RFC7231] Section 5.3.3.

Accept-Encoding

1#encoding

O

The Accept-Encoding header field may be used to indicate the content-codings (see [RFC7231] Section 3.1.2.1) acceptable in the response. See [RFC7231] Section 5.3.4.

Accept-Language

1#language

O

The Accept-Language header field may be used by user agents to indicate the set of natural languages that are preferred in the response. See [RFC7231] Section 5.3.5.


8.4.1.1 Accept

User agents use the Accept header field to specify Acceptable Media Types for the response payload. The Accept header field can be used to indicate that the response payload is specifically limited to a set of desired media types. It has the following syntax:

Accept      = "Accept:" #( media-range [accept-params] )
media-range = ("*/*" 
              / (type "/" "*") 
              / (type "/" subtype)
              ) *(OWS ";" OWS accept-params)
accept-params = weight *(accept-ext)

Most requests have an Accept header field that contains a comma-separated list of one or more media ranges. A media-range extends media-type with wildcards (*/* or type/*) and parameters that are not defined for media-types. See [RFC7231] Section 5.3.2 for details.

For example, if the user agent is willing to accept any media type in the response it should include */* as a value of the Accept header field.

Many of the content negotiation header fields use a weight parameter, named "q" (case-insensitive), to assign a relative "weight" to the preference for that associated kind of content.

The media types in the Accept header can be given a priority ordering by using weights.

weight = OWS ";" OWS "q=" qvalue
qvalue = ("0" ["." 0*3DIGIT]) 
       / ("1" ["." 0*3("0")])

This weight is often referred to as "quality value" or "qvalue". See [RFC7231] Section 5.3.1.

All requests that might have a response containing a payload shall provide an Accept header field.

See Section 8.7.5 for Acceptable Media Types.

8.4.1.1.1 Charset Media Type Parameter

Many media types, especially text/* types, define a "charset" parameter that specifies the character set for the representation. See [RFC7231] Section 3.1.1.2.

DICOM Media Types define a "charset" parameter. See Section 8.7.3.5.3.

For example,

application/dicom; charset=ISO-8859-1

See Section 8.8.1 for Acceptable Character Sets.

DICOM PS3.18 2021e - Web Services