Error code 226 “IM Used” is an HTTP status code that indicates the server is returning a delta (difference) of a resource rather than the complete resource in response to a GET request that includes an A-IM header. This situation typically arises when HTTP Delta encoding is enabled to save bandwidth, allowing the server to send only the changed portions when the client already has a version of the resource and only part of it has changed.
In HTTP Delta encoding, the client includes two headers in the GET request:
- A-IM: Indicates the preferred delta algorithm used by the client.
- If-None-Match: Specifies the version of the resource that the client currently has.
When the server responds, it uses the 226 IM Used status code, along with an IM header describing the delta algorithm used, and may include a Delta-Base header that matches the ETag of the base document related to the delta.
It is important to note that support for HTTP Delta encoding is not widespread, so the 226 IM Used status code is rarely seen in practice. Most systems rely on compression methods to reduce bandwidth usage, although a combination of compression and delta encoding is possible. Even when both the client and server support Delta encoding, proxies or caches may not support it, and adding HTTP Delta encoding to a system can complicate implementation beyond the benefits it provides.