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.