Câu trả lời:
html5boilerplate.com bao gồm một tệp .htaccess được nhận xét tốt có nhiều cài đặt tiêu chuẩn bạn nên xem xét. Trong số đó có các cài đặt hợp lý để hết hạn nội dung (Hết hạn, Thẻ điện tử, ...).
Đây là tài liệu về mod_Exires .
Lưu ý rằng Last-Modified
các tiêu đề là các tiêu đề bộ đệm yếu. Các ưu tiên hiện tại là sử dụng Cache-Control
các tiêu đề.
Google có một bài viết tốt về điều này.
Hết hạn và Kiểm soát bộ đệm: tuổi tối đa. Các định nghĩa này xác định thời gian sống mới của một tài nguyên, đó là khoảng thời gian mà trình duyệt có thể sử dụng tài nguyên được lưu trong bộ nhớ cache mà không cần kiểm tra xem có phiên bản mới nào có sẵn từ máy chủ web không. Chúng là "các tiêu đề bộ nhớ đệm mạnh" áp dụng vô điều kiện; nghĩa là, khi chúng được đặt và tài nguyên được tải xuống, trình duyệt sẽ không đưa ra bất kỳ yêu cầu GET nào cho tài nguyên cho đến khi hết hạn sử dụng hoặc tuổi tối đa.
Sửa đổi lần cuối và ETag. Chúng xác định một số đặc điểm về tài nguyên mà trình duyệt kiểm tra để xác định xem các tệp có giống nhau không. Trong tiêu đề Sửa đổi lần cuối, đây luôn là một ngày. Trong tiêu đề ETag, đây có thể là bất kỳ giá trị nào xác định duy nhất một tài nguyên (phiên bản tệp hoặc băm nội dung là điển hình). Last-Modified là một tiêu đề bộ nhớ đệm "yếu" trong đó trình duyệt áp dụng phương pháp phỏng đoán để xác định xem có tìm nạp mục từ bộ đệm hay không. (Các heuristic khác nhau giữa các trình duyệt khác nhau.) Tuy nhiên, các tiêu đề này cho phép trình duyệt cập nhật hiệu quả các tài nguyên được lưu trong bộ nhớ cache của nó bằng cách đưa ra các yêu cầu GET có điều kiện khi người dùng tải lại trang một cách rõ ràng. GET có điều kiện không trả về phản hồi đầy đủ trừ khi tài nguyên đã thay đổi tại máy chủ và do đó có độ trễ thấp hơn so với GET đầy đủ.
Tôi khuyên bạn nên sử dụng một trong hai Cache-Control
hoặc Expires
tiêu đề khi cần vì chúng là các tiêu đề bộ đệm mạnh. Một số hệ thống sẽ bỏ qua ngày Sửa đổi lần cuối.
Sau đó, bạn có thể sử dụng một công cụ như curl
hoặc http://redbot.org để kiểm tra các tiêu đề.
Last-Modified
các tiêu đề trong trường hợp không có các hướng dẫn bộ đệm khác sẽ khiến thời gian lưu trữ lên đến máy khách HTTP. Nếu tài nguyên chưa được sửa đổi kể từ Last-Modified
ngày, tài nguyên nên được coi là mới. Ngược lại, khi sử dụng mộtExpires
hoặc Cache-Control
tiêu đề, nguồn gốc có thể đặt khoảng thời gian mới rõ ràng.
Expires
là một tiêu đề hoàn toàn không phù hợp cho các tài nguyên không hết hạn. Một số tài nguyên có thể được sửa đổi, nhưng không phải vào ngày hết hạn. Quan điểm của Google làLast-Modified
yêu cầu GET có điều kiện, trong khiExpires
cho phép bộ đệm của trình duyệt bỏ qua GET hoàn toàn.