it-swarm-vi.com

Làm cách nào tôi có thể khiến trình duyệt tải xuống một bản sao mới của trang web khi nó nghĩ rằng bản sao được lưu trong bộ nhớ cache của nó vẫn còn hiệu lực?

Đôi khi khi tôi thực hiện một số thay đổi nhỏ cho một trang web, tôi nhận thấy rằng một số trình duyệt nhất định rất cứng đầu về việc tải lại trang. Cả F5 và CTRL-R đều vô dụng và cách duy nhất để khắc phục là đi qua các tùy chọn và tự bảo nó xóa bộ nhớ cache. Trước đây tôi đã sử dụng PHP để gửi tiêu đề xóa bộ đệm, nhưng có cách nào đơn giản hơn hoặc tốt hơn không?

5
dmsnell

Nó phụ thuộc vào những gì được lưu trữ. Nếu đó là trang chính thì cách duy nhất để ngăn chặn bộ đệm là sử dụng tiêu đề HTTP không có bộ đệm.

Tuy nhiên, hãy nhớ rằng các tệp JS và CSS cũng thường được lưu trữ. Một mẹo để vô hiệu hóa chúng khi chúng thay đổi được sử dụng bởi nhiều trang web - bao gồm cả điều này - là nối thêm một số giả sau '?'. Mọi thứ sau '?' bị máy chủ web bỏ qua, nhưng vì URL thay đổi nên trình duyệt luôn tải xuống lại.

Một ví dụ được lấy từ chính trang này: http://sstatic.net/webmasters/all.css?v=ac775b7bd951. "Ac775b7bd951" đến từ Mercurial, hệ thống phiên bản được sử dụng. Bạn có thể làm một cái gì đó tương tự với svn (ví dụ: all.css? Revision = 123).

6
Thomas Bonini

F5 được làm mới bằng cách sử dụng bộ đệm. Ctrl-F5 sẽ bỏ qua bộ đệm. Tôi không chắc chắn, nhưng có vẻ như Ctrl-R tương đương với F5 chứ không phải Ctrl-F5?

2
Rebecca Chernoff