
HTTP 226 IM Used is a successful 2xx response indicating the server has fulfilled a GET request and is returning the result of one or more instance manipulations applied to the current resource. In practice, this means the server is sending back a delta — only the differences between the version the client already has and the current version — rather than the full resource. "IM" stands for Instance Manipulation, which refers to the algorithm used to generate that delta.
A server returns 226 when a client sends a GET request that includes both an A-IM header (indicating the client's preferred differencing algorithm, such as vcdiff) and an If-None-Match header (specifying the ETag of the version it already has cached). If the server supports delta encoding and can compute a delta against that cached version, it responds with 226 along with an IM header and optionally a Delta-Base header identifying the base document.
Both 200 OK and 226 IM Used indicate a successful response to a GET request, but they differ in what is returned in the body. A 200 response contains the complete, current representation of the resource, whereas a 226 response contains only the delta — the changes since the client's cached version. HTTP 226 is therefore a bandwidth-optimization variant of 200, used only when delta encoding is negotiated between client and server.
No. HTTP 226 is a success code in the 2xx range, meaning the request was received, understood, and fulfilled successfully. You should not treat a 226 response as a problem; it simply signals that the server is delivering a delta representation of the resource rather than the full content.
Browser support for HTTP delta encodings is very limited, and most major browsers do not implement the A-IM negotiation required to trigger a 226 response. As a result, 226 is rarely encountered in standard web browsing. Most bandwidth optimization on the web is handled instead through standard content-encoding compression methods such as gzip or brotli, which enjoy broad support.
HTTP 226 IM Used is defined in RFC 3229, which specifies the delta encoding mechanism for HTTP. The RFC describes the full protocol for how clients advertise delta-encoding support, how servers compute and return deltas, and how the relevant headers — A-IM, IM, Delta-Base, and If-None-Match — interact during the request-response cycle.