chain
#
HTTP 304 Not Modified
⌃⏎ run · clear · / focus input
Meaning
send output to
no matches
Result appears here as you type
runs in your browser · nothing uploaded
// about this tool

HTTP 304 Not Modified Online

Updated 2026-07-26

HTTP 304 Not Modified is the server's way of saying "your cached copy is still correct, don't re-download it" — sent in response to a conditional request carrying an ETag or Last-Modified date, with no response body at all. It's a success code, not an error, and exists purely to save bandwidth.

If you're debugging and expected fresh content but got a 304, check whether the browser's cache or a CDN is serving a stale ETag/Last-Modified value — the fix is usually invalidating the cache or updating whatever generates that header when the underlying content actually changes. For every other status code at once, use the full HTTP Status Codes reference.

// how to use

  1. 1 The code is already looked up below — 304 is pre-filled.
  2. 2 Type any other status code to look that one up instead.
  3. 3 Copy the result, or use the full HTTP Status Codes reference for every code at once.

// examples

The code itself
Input
304
Output
304 Not Modified — Redirection (3xx). The cached version is still valid; no body is sent.
A code it's sometimes mistaken for
Input
200
Output
200 OK — a full response WITH a body, sent when there is no valid cached copy to reuse.

// common uses

Understanding why a network request shows no response body Debugging unexpected caching behavior in an API or CDN Verifying ETag/If-Modified-Since conditional requests are working Checking what a status code in server logs actually means

// faq

Is anything uploaded to a server?
No. The lookup runs entirely in your browser from a built-in table, so nothing you type leaves your machine.
Is 304 an error?
No — it's a success signal that saves bandwidth. It means "your cached copy is still correct, keep using it," and the server deliberately sends no response body at all.
How does the server know to return 304 instead of the full response?
The browser sends conditional headers (If-None-Match with an ETag, or If-Modified-Since with a date) from its cached copy. If the server's current version matches, it replies 304 with no body; if not, it sends the full 200 response.
Why would I see a 304 in my browser's network tab but not in server logs?
Some CDNs and reverse proxies handle conditional caching themselves and never forward the conditional request to the origin server, so the 304 appears at the edge without ever reaching your application.
Can a 304 response have a body?
No — the spec explicitly forbids it. A 304 response only carries headers (confirming the cached version is current); the actual content comes from the browser's own cache, not the network.

Use this via API

Get a free API key →
curl -X POST https://thesnaptools.com/api/v1/tools/http-304 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"304"}'
Esc
↑↓ navigate open Esc close