226 IM Used
The server fulfilled a GET request for a delta or instance-manipulated representation, applying the client's requested transformation.
Defined in RFC 3229 §10.4.1
What 226 means
HTTP 226 IM Used is returned when a GET request includes an A-IM header requesting an instance manipulation, most commonly a delta encoding, and the server actually applies that manipulation before responding. Instead of sending the full current representation, the server sends only the difference between the version the client already has and the current version, dramatically reducing transfer size for clients that are re-fetching a resource they have mostly already downloaded, such as a large document, feed, or dataset that changes incrementally. The response includes an IM header describing which instance manipulations were applied.
The delta encoding mechanism this status enables predates several more widely adopted alternatives, such as HTTP compression and diff-based sync protocols built at the application layer, and it never saw broad adoption across mainstream browsers or servers. Its use today is largely confined to specialized synchronization tools, some feed readers, and niche protocols that specifically implement RFC 3229's instance manipulation and delta encoding scheme, rather than general web APIs or typical CDN-served content.
Because so few clients send an A-IM header in the first place, and even fewer servers implement delta computation in response, 226 shows up almost nowhere in ordinary web traffic. When it is relevant, it matters mainly for bandwidth-constrained synchronization scenarios, where computing and transferring only a diff meaningfully beats re-downloading an entire large resource, and where both client and server have deliberately implemented the RFC 3229 delta mechanism together.
Common causes
- A client sent a GET request with an A-IM header requesting a delta encoding relative to a representation it already has.
- The server supports RFC 3229 instance manipulation and computed a diff against the client's known base version.
- A specialized synchronization client or feed reader is minimizing bandwidth for a large, incrementally changing resource.
How to fix a 226
If you are the client (browser user or API caller)
- Only send an A-IM header when your client actually implements delta reconstruction; otherwise omit it and let the server return a normal full representation.
- Track which base version of the resource you have locally so the delta the server returns can be applied correctly.
- Fall back to requesting the full representation if the server does not return 226 or does not support the requested instance manipulation.
If you run the server
- Only return 226 when you can compute and serve a correct delta against the base version the client indicated.
- Include an accurate IM header listing which instance manipulations were actually applied to the response.
- Fall back to a normal 200 response with the full representation whenever delta computation is not supported for a given resource.
Example
GET /docs/spec.xml HTTP/1.1
Host: example.com
A-IM: diffe
If-None-Match: "v18"
HTTP/1.1 226 IM Used
IM: diffe
Content-Type: application/xml
<!-- delta encoding relative to version v18 -->Try it live
Our free status responder returns a real HTTP 226 you can point tests, monitors or a browser at.
GET https://mcp.httpstatus.com/status/226