IM Used
The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
What it means
The HTTP 226 IM Used status code is related to Delta encoding in HTTP. The client requests a resource but provides a cache hash (like an ETag) and says 'I only want the differences (deltas) between my cached version and the current version'.
If the server supports this (via A-IM headers), it responds with 226 and sends only the delta.
How it works
- 1The client sends a GET request with 'A-IM: vcdiff' (Accept-Instance-Manipulation) indicating it can parse delta encodings.
- 2The server computes the difference between what the client has and what the current version is.
- 3The server responds with '226 IM Used' and sends only the small delta payload.
Why you're seeing this
- • The server successfully computed and returned a delta.
How to fix it
- • The client must apply the delta (e.g. using a vcdiff library) to its local cached copy to reconstruct the full file.
Framework Implementations
Go (Concept)
// Delta encoding is highly complex and usually handled by dedicated // caching servers, not standard application code.
Real-Life Scenarios
Highly specialized caching systems where bandwidth is extremely expensive and clients have the computing power to apply binary deltas (like vcdiff) to cached files.
Low Bandwidth App Updates
A mobile game checks for a 500MB update. The server computes the delta between v1.0 and v1.1 (only 5MB) and sends a 226 response with just the 5MB patch.
HTTP Transaction
1. Client Request
GET /app.json HTTP/1.1 Host: api.example.com A-IM: vcdiff If-None-Match: "old-hash-123"
2. Server Response
HTTP/1.1 226 IM Used IM: vcdiff Content-Type: application/json Delta-Base: "old-hash-123" (binary vcdiff delta payload...)
SEO Implications
None. Search engines do not use delta encoding.