Theo Firebug, sau đây là các tiêu đề phản ứng lần đầu tiên tài nguyên được lấy ra:Tại sao Firefox không gửi tiêu đề If-Modified-Since?
Accept-Ranges bytes
Cache-Control public, max-age=86400
Content-Language en
Content-Length 232
Content-Location http://localhost/myapp/cacheTest.html
Content-Type text/html; charset=WINDOWS-1252
Date Wed, 05 Sep 2012 15:59:31 GMT
Last-Modified Tue, 01 May 2012 05:00:00 GMT
Server Restlet-Framework/2.0.3
Vary Accept-Charset, Accept-Encoding, Accept-Language, Accept
tôi bấm đi và bấm trở lại, và đây là là những tiêu đề yêu cầu gửi đến máy chủ:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection keep-alive
Host localhost
Referer http://localhost/myapp/cacheTest2.html
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0
Và vì vậy, tự nhiên, máy chủ không thể gửi 304 như tôi muốn, và thay vào đó gửi toàn bộ tài nguyên một lần nữa.
Điều này đã xảy ra trong Firefox 14 và tôi nghĩ đó có thể là lỗi, vì vậy tôi đã nâng cấp. Nhưng nó vẫn đang xảy ra trong Firefox 15. Chrome không có vấn đề gì.
Tôi đã thử cả hai có và không có tiêu đề "Hết hạn", nó không có sự khác biệt. Firefox chỉ từ chối gửi tiêu đề If-Modified-Since.
FWIW, trong Firefox, nếu bất kỳ tiêu đề yêu cầu nào phản hồi được đặt thành VARY bằng các thay đổi, Firefox sẽ không gửi tiêu đề If-Modified-Since theo lý thuyết (sai) mà máy chủ có thể hiểu sai và trả về 304 mà không đánh giá các tiêu đề yêu cầu Vary'ing. – EricLaw