DevToolPal
VI
3xx Chuyển hướng

304 Not Modified

Không thay đổi

Ý nghĩa

Bản sao lưu đệm client đang có vẫn còn hợp lệ, nên máy chủ không gửi phần thân. Đây là phản hồi cho yêu cầu có điều kiện với If-None-Match hoặc If-Modified-Since.

Nguyên nhân thường gặp

  • ETag trong If-None-Match khớp phiên bản hiện tại
  • Tài nguyên không đổi kể từ If-Modified-Since
  • Trình duyệt xác thực lại tài nguyên đã lưu đệm

Cách khắc phục

Nếu bạn là máy khách hoặc người truy cập

Dùng phần thân đã lưu đệm. Nếu nội dung có vẻ cũ, trình xác thực có thể sai; hãy buộc tải lại hoặc kiểm tra cách tạo ETag.

Nếu bạn quản lý trang web hoặc API

Tạo ETag ổn định (giống nhau trên mọi máy chủ sau bộ cân bằng tải) và gửi cùng các header bộ nhớ đệm như khi trả 200.

Phản hồi mẫu

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

Đặc tả

RFC 9110 §15.4.5

Câu hỏi thường gặp

› 304 có phải lỗi không?

Không. Nó tiết kiệm băng thông bằng cách báo client rằng bộ nhớ đệm đã cập nhật.

› Vì sao người dùng thấy tệp cũ sau khi triển khai?

Header bộ nhớ đệm cho phép bản cũ. Dùng tên tệp có dấu vân tay cho tài nguyên và max-age ngắn kèm xác thực cho HTML.