IM

https://www.rfc-editor.org/rfc/rfc3229.html#section-10.5.2

The IM HTTP response header is included by the server to indicate the instance-manipulations, if any, that have been applied to the instance represented by the response.

Usage

Typical instance manipulations include delta encoding and compression. Acceptable parameters for instance-manipulations are:

  • vcdiff A delta using the vcdiff encoding format.

  • diffe The output of the UNIX diff -e command.

  • gdiff The GDIFF encoding format.

  • gzip Same definition as the HTTP gzip content-coding.

  • deflate Same definition as the HTTP deflate content-coding.

  • deflate-raw Same definition as the HTTP deflate-raw content-coding.

  • range A tokenindicating that the result is partial content, as the result of a range selection.

  • identity A token used only in the A-IM header (not in the IM header), to indicate whether or not the identity instance-manipulation is acceptable.

Note

HTTP responses that include an IM header must response with the HTTP status code 226 IM Used.

Range and instance-manipulation

If the instance-manipulations include both range parameter and at least one other non-identity instance-manipulation, the IM header field must be used to indicate the order in which all of these instance-manipulations, including range parameter, are applied. If the IM header lists the range instance-manipulation parameter, the response must include either a HTTP Content-Range header or a multipart/byteranges Content-Type in which each part contains a HTTP Content-Range header.

However, if the server only lists the range instance-manipulation parameter in the HTTP response, then the IM header shall be omitted and the HTTP status code 206 Partial Content is sent instead.

Example

The following example indicates that the entity-body is a delta encoding of the instance, using the vcdiff encoding.

Response

IM: vcdiff

The following example indicates that the instance has first been delta-encoded using the diffe encoding, then the result of that has been compressed using deflate, and finally one or more ranges of that compressed encoding have been selected.

Response

IM: diffe, deflate, range

Takeaway

The HTTP IM response header is used to indicate instance-manipulations by the server.

See also

Last updated: July 6, 2022