URL với truy vấn vô hiệu hóa bộ nhớ đệm?


11

Việc có một chuỗi truy vấn được đính kèm với một URL khiến trình duyệt không bao giờ lưu trữ nó? Ví dụ, trang web của tôi làm một cái gì đó như thế này:

/radar-picture.png?v=sep2013

Và có vẻ như FireFox không bao giờ lưu lại bức tranh đó; nó được tải xuống theo mọi yêu cầu.

Tôi muốn FireFox lưu trữ nó miễn là nó muốn. Tôi chỉ muốn buộc nó tải xuống khi v=tham số đã thay đổi.


1
Tôi đoán bạn có thể thực hiện điều này, nếu bạn chỉ thay đổi tên tệp thay vì truy vấn. Vì vậy, bây giờ tên tệp sẽ là radar-picture-sep2013.pngvà khi nó thay đổi tại một thời điểm nào đó trong tương lai radar-picture-jan2014.png. Bạn có thể định cấu hình tuổi tối đa của PNG thành một năm để trừ khi tên tệp thay đổi, trình duyệt có thể tải hình ảnh được lưu trong bộ nhớ cache trong một thời gian dài.
vstm

Câu trả lời:


3

Thêm cặp khóa / giá trị chuỗi truy vấn vào tài nguyên tĩnh (như hình ảnh, CSS hoặc JavaScript) có thể gây ra sự cố bộ đệm .

Cụ thể, vì bạn đã đề cập đến Firefox , vấn đề của bạn có thể liên quan đến 'Xung đột bộ đệm', trong đó:

Các hàm băm bộ đệm đĩa Firefox có thể tạo ra xung đột cho các URL chỉ khác nhau một chút, cụ thể là chỉ trên các ranh giới 8 ký tự. Khi tài nguyên băm vào cùng một khóa, chỉ một trong số các tài nguyên được duy trì vào bộ đệm đĩa; các tài nguyên còn lại có cùng khóa phải được tìm nạp lại trên trình duyệt khởi động lại. Do đó, nếu bạn đang sử dụng dấu vân tay hoặc đang tạo các URL tệp theo chương trình, để tối đa hóa tốc độ truy cập bộ đệm, hãy tránh sự cố va chạm băm của Firefox bằng cách đảm bảo rằng ứng dụng của bạn tạo các URL khác nhau trên hơn 8 ký tự.

[Nguồn: https://developers.google.com/speed/docs/best-practices/caching ]


7
"Ranh giới 8 ký tự" là gì và tôi có thể tránh va chạm này như thế nào? URL của tôi trông như thế nào sau đó?
Andrew

2

Câu trả lời này trên stackoverflow tuyên bố rằng một số trình duyệt phản ứng khác nhau khi nhấn enter trong thanh địa chỉ so với nhấp vào liên kết khi url có chuỗi truy vấn: /programming//a/85386/1145388

Khi bạn đang kiểm tra, hãy đảm bảo rằng bạn đang nhấp vào các liên kết thay vì làm mới hoặc nhấn enter trong thanh url.


2
Tôi nghĩ rằng câu trả lời trên stackoverflow có thể bị lỗi thời. Khi tôi đặt một chuỗi truy vấn trên các bảng định kiểu style.css?v=sep2013và 150KiB background-image:url('bgimage.jpg?v=sep2013');, điều hướng trang web (thông qua nhấp vào liên kết hoặc nhập vào thanh địa chỉ) rất chậm trong FireFox.
Ông Smith
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.