DevToolPal
ID
3xx Pengalihan

304 Not Modified

Tidak Diubah

Artinya

Salinan cache yang dimiliki klien masih valid, jadi server tidak mengirim body. Ini jawaban atas permintaan bersyarat dengan If-None-Match atau If-Modified-Since.

Penyebab umum

  • ETag di If-None-Match cocok dengan versi saat ini
  • Resource tidak berubah sejak If-Modified-Since
  • Browser memvalidasi ulang aset yang di-cache

Cara memperbaiki

Sebagai klien atau pengunjung

Gunakan body dari cache. Jika konten tampak usang, validatornya mungkin salah; paksa muat ulang atau periksa pembuatan ETag.

Sebagai pengelola situs atau API

Buat ETag yang stabil (sama di semua server di belakang load balancer) dan kirim header caching yang sama seperti pada 200.

Contoh respons

HTTP/1.1
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600

Spesifikasi

RFC 9110 §15.4.5

FAQ

› Apakah 304 sebuah error?

Bukan. Ia menghemat bandwidth dengan memberi tahu klien bahwa cache-nya sudah terbaru.

› Mengapa pengguna melihat file lama setelah deploy?

Header cache mengizinkan salinan usang. Gunakan nama file ber-fingerprint untuk aset dan max-age pendek dengan validasi untuk HTML.