2012-07-19 36 views
14

Hệ thống của tôi là Windows 7 x64, Chrome 20.0.1132.57 m.Tiêu đề HTTP "Hết hạn" không hoạt động trong Chrome

Trong tiêu đề HTTP response tôi, tôi có:

Cache-Control: public, max-age=1000 
Expires: *some date* 

Trong IE & FF, trang web được lưu trữ tại địa phương, và khi tôi cố gắng truy cập một lần nữa bằng cách gõ địa chỉ URL và nhấn enter, không có yêu cầu là gửi và trang được hiển thị chính xác. Nhưng trong Chrome, nó luôn gửi yêu cầu tới máy chủ với tiêu đề sau:

Cache-Control: max-age=0 

Tôi không muốn khách hàng gửi yêu cầu đến máy chủ của tôi và sau đó trả lời 304. Tôi muốn tiết kiệm thời gian khứ hồi .

Trả lời

15

Hãy cẩn thận khi bạn đang thử nghiệm. Tôi nhận thấy rằng trong Chrome phiên bản 20 nếu tôi nhấn F5 để tải lại trang thì trong bảng điều khiển mạng tôi thấy các yêu cầu mới. Hoewer nếu tôi đặt con trỏ vào thanh tiêu đề, sau url trang hiện tại và nhấn enter, tôi nhận tài nguyên từ bộ nhớ cache, tiêu đề whitch được đặt thành bộ nhớ cache.

Cũng tốt hơn là chỉ sử dụng độ tuổi tối đa. Độ tuổi tối đa và hết hạn là như nhau, nhưng ở độ tuổi tối đa bạn chỉ định thời lượng.

Xem này: http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/ Phương pháp 3 và Phương pháp 4.

+0

Tôi e rằng đây không phải là những gì tôi thấy. tôi đã cố gắng nhấn enter trong thanh điều hướng, nhưng có cùng kết quả. tôi nghĩ rằng chrome có thể đoán ip của máy chủ, và nếu nó là máy chủ địa phương, nó sẽ luôn luôn làm theo yêu cầu ... có thể google muốn làm cho các nhà phát triển hạnh phúc ... nhưng họ không: ( – davidshen84

+0

ngay cả trên trang web này, trong crome khi tôi kiểm tra yêu cầu mạng, tôi thấy ga.js có tiêu đề phản hồi sau: Hết hạn: Tue, 14 Aug 2012 20:37:18 GMT. Trong trường hợp làm mới F5, tải lại trong trường hợp nhập vào điều hướng thanh nó đến từ bộ nhớ cache –

+3

tôi nghĩ rằng tôi đã tìm ra ... nếu đó là yêu cầu chính, do người dùng hoặc JS bắt đầu, Chrome sẽ bỏ qua tối đa tuổi và thực thi yêu cầu được gửi ... địa ngục – davidshen84

3

Tôi có vấn đề tương tự và tôi phát hiện ra rằng nếu bạn thực hiện theo yêu cầu với một tab chrome mới nó sẽ làm việc.

Các vấn đề liên quan