HTTP status codes / 3xx — Redirection
Your cached copy is still valid; no body is returned.
The answer to a conditional request (If-None-Match/If-Modified-Since) when the resource has not changed. Saves bandwidth: the body is intentionally empty and the client should use its cache.
curl -i -H 'If-None-Match: "some-etag"' https://httpbin.org/etag/some-etag
Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.
If you get 304 in an API client, your client sent caching validators — strip If-None-Match/If-Modified-Since headers to force a full 200.
Server-side note: In API debugging, strip caching headers to force the full 200 — or keep them and enjoy the bandwidth saving.
The fastest way to pin down a 304 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.
300 Multiple Choices · 301 Moved Permanently · 302 Found · 303 See Other · 307 Temporary Redirect · 308 Permanent Redirect — or the full reference.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.