Hầu hết các trang web được đặt max-age=31536000
(1 năm) trên các Cache-control
tiêu đề của tài sản tĩnh, chẳng hạn như hình ảnh logo. Ví dụ:
Nhưng có một ngoại lệ đáng chú ý: logo của Google có max-age=691200
(8 ngày).
Trước đây tôi đã kiểm tra các tiêu đề trên logo Google và nó chắc chắn được sử dụng là 1 năm. (Ngoài ra, nó từng là một phần của sprite, và bây giờ nó là hình ảnh logo độc lập, nhưng đó có lẽ là một câu hỏi khác ...)
Điều gì có thể là lý do kỹ thuật hợp lệ tại sao họ muốn giảm tuổi thọ bộ nhớ cache của nó xuống chỉ còn 8 ngày? Trang chủ của Google là một trong những trang được tối ưu hóa cẩn thận nhất trên thế giới, vì vậy tôi tưởng tượng có một lý do chính đáng.
Biên tập:
Vui lòng đảm bảo rằng bạn hiểu những điểm này trước khi trả lời:
Không ai sử dụng thời
max-age
gian sống ngắn để cho phép sửa đổi một tài sản tĩnh trong tương lai. Khi bạn sửa đổi nó, bạn chỉ cần phục vụ nó ở một URL khác. Vì vậy, không có gì để làm với hình tượng trưng của Google. Hãy suy nghĩ về điều này: ngay cả khi Google không hiểu thủ thuật cơ bản về HTTP này, 8 ngày vẫn không phù hợp, vì chỉ những người dùng không có logo gốc được lưu trong bộ nhớ cache mới nhìn thấy hình tượng trưng trong ngày doodle - và sau đó nhóm người dùng đó sẽ tiếp tục nhìn thấy hình tượng trưng trong 8 ngày sau khi Google thay đổi lại :)Các máy chủ web không lo lắng về việc "lấp đầy" bộ nhớ cache của máy khách (hoặc proxy). Máy khách tự quản lý điều này - khi nó đạt đến giới hạn lưu trữ của riêng mình, nó chỉ bắt đầu bỏ các mục ưu tiên thấp nhất để tạo khoảng trống cho các mục mới. điểm số ưu tiên được dựa trên câu hỏi "làm thế nào có khả năng là tôi để lợi ích từ việc lưu trữ URL này?", đó là không có gì để làm với những gì
max-age
giá trị máy chủ gửi khi URL được yêu cầu ban đầu, nó là một heuristic dựa trên ' frecency ' trong số các yêu cầu cho URL đó.max-age
chỉ cần cho phép máy chủ đặt điểm giới hạn - thời gian mà khách hàng có nghĩa vụ loại bỏ vật phẩm bất kể tần suất sử dụng lại của nó. Sẽ rất tốt và tin tưởng một khách hàng / proxy hạ lưu dựa vào các máy chủ gốc 'giữ lại' để lấp đầy bộ nhớ cache của họ, nhưng tôi không nghĩ chúng ta sống ở thế giới đó;)