Chuyển hướng 301 'bộ nhớ đệm' của Firefox 5


92

Có cách nào để tắt 'tính năng này' không?

Ví dụ: nếu một yêu cầu được thực hiện http://localhost/foo.htmlmà tôi đã chỉ định là '301' cho địa chỉ gốc, tất cả các yêu cầu tiếp theofoo.html vượt qua máy chủ web hoàn toàn và ffox 5 sẽ kiểm tra bộ nhớ cache của nó, hãy đọc rằng url này trước đây là '301' và chuyển hướng mà không cần kiểm tra thay đổi.

Nếu tôi đã dừng lại foo.html từ 301'ing, tôi phải xóa bộ nhớ cache của firefox để 'khắc phục' điều này xảy ra.

Chrome, IE và phiên bản Firefox trước không làm được điều này.


Ngay cả việc xóa bộ nhớ cache cũng không giải quyết được lỗi này cho tôi (Firefox 17.0.1, Linux).
Konrad Höffner 10/12/12

2
@kirdie Trong hộp thoại "xóa lịch sử gần đây", hãy đảm bảo rằng bạn đặt phạm vi thời gian thành "mọi thứ" và chọn hộp kiểm "bộ nhớ cache". Nếu phạm vi thời gian được chọn gần đây hơn số lượt truy cập của bạn vào url được chuyển hướng, mục nhập bộ nhớ cache sẽ không bị xóa.
Kelvin

13
@kirdie và mọi người có cùng vấn đề: Xem lịch sử bằng Ctrl + H. Sau đó nhấp chuột phải vào trang web và chọn "xóa tất cả lịch sử cho trang web này" (hoặc một cái gì đó tương tự). Điều đó đã làm nó cho tôi.
Lars Nyström

4
@ LarsNyström: Đang phát triển một ứng dụng web và gặp phải vấn đề này - đề xuất của bạn đã hoạt động hoàn hảo đối với tôi. Đó là "Quên về trang web này" trong FF20.0
cincodenada

1
301 không được gọi là "đã di chuyển vĩnh viễn " Nếu tôi có một máy chủ chỉ phục vụ https và mọi người truy cập vào tên miền của tôi bằng cách sử dụng http (đủ tệ vì họ sẽ tiết lộ yêu cầu uri), tôi muốn trình duyệt ghi nhớ rằng vĩnh viễn và không kiểm tra http mỗi lần.

Câu trả lời:


45

301 chỉ là một mã phản hồi có thể lưu vào bộ nhớ cache bình thường. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2 cho biết:

This response is cacheable unless indicated otherwise. 

Vì vậy, nếu bạn không muốn nó được lưu vào bộ nhớ cache, máy chủ của bạn cần chỉ ra cách khác thông qua các tiêu đề bình thường được sử dụng để kiểm soát hành vi của bộ nhớ cache.

Bạn cũng có thể xóa bộ nhớ cache theo cách thủ công .


7
Tôi tin rằng sẽ đơn giản hơn nếu sử dụng 302 thay thế, không thể lưu vào bộ nhớ cache theo mặc định.
Frank Farmer,

22
@Boris Zbarsky: Không phải câu hỏi nhiều hơn 'Làm cách nào để xóa bộ nhớ cache' hơn là 'Làm cách nào để ngăn việc ghi bộ nhớ cache xảy ra ngay từ đầu'?
Bobby Jack

4
Câu hỏi chắc chắn có vẻ như "Làm thế nào để tôi không phải xóa bộ nhớ cache" đối với tôi!
Boris Zbarsky

17
Nó tệ vì bạn không thể "chuyển-tải lại" một chuyển hướng ngay cả khi bạn biết nó sai. Mọi tài nguyên được lưu trong bộ nhớ cache xấu khác có thể được tải lại một cách riêng biệt, nhưng không phải những chuyển hướng chết tiệt này.
Sam Watkins

1
Tôi đã thử sử dụng chuyển hướng 302 từ IIS, nhưng các phiên bản gần đây của Firefox (và Chrome và Edge và IE) cũng lưu trữ các chuyển hướng đó, dựa trên hành vi của chúng. Tôi nhận thấy rằng việc mở và tắt cửa sổ Riêng tư là cách tốt nhất để kiểm tra các trang web và tránh nhiễm độc bộ nhớ cache của trình duyệt của bạn.
dsmtoday

117

Trong Firefox nếu bạn có addon thanh công cụ "web developer". Bạn có thể nhấp vào vô hiệu hóa -> tắt bộ nhớ cache -> kiểm tra phiên bản mới của trang mỗi lần. Sau đó tải lại URL và nó sẽ làm mới bộ nhớ cache của bạn. Vì vậy, bạn không cần phải xóa bộ nhớ cache đầy đủ của mình.

Từ nhận xét của cptstubing06, những điều sau có thể giúp xóa bộ nhớ cache:

  1. Nhập Ctrl+lđể đặt con trỏ trên thanh vị trí.
  2. Nhập about:configđể mở cài đặt cấu hình .
  3. Xác nhận bất kỳ cảnh báo nào.
  4. Nhập browser.cachetheo sau là Enterđể lọc cài đặt.
  5. Bấm đúp browser.cache.check_doc_frequency.
  6. Thay đổi giá trị từ 3thành 1.
  7. Bấm vào OK.
  8. Xem lại trang 301 được lưu trong bộ nhớ cache đầy ám ảnh.
  9. Đặt lại tần số về 3 khi hoàn tất.

Firefox bây giờ sẽ chuyển hướng đến trang 301 mới, không còn tìm nạp trang được chuyển hướng từ bộ nhớ cache.


4
Đây là một giải pháp tuyệt vời cho tôi - tôi muốn 301 được lưu trong bộ nhớ cache 99% thời gian, nhưng một khi có màu xanh lam, tôi có thể cần phải thay đổi vị trí của chuyển hướng và không muốn xóa TOÀN BỘ bộ nhớ cache của mình. Chỉ cần làm rõ, Firefox đi kèm với Web Developermenu riêng bên dưới các công cụ, không phải là addon. Addon cũng được gọi là Web Developer, nhưng hiển thị trong menu Công cụ của bạn Web Developer Extensionvà có thể tải xuống tại đây: addons.mozilla.org/en-us/firefox/addon/web-developer .
cptstubing06

5
Xin lưu ý - nếu bạn muốn firefox cập nhật bộ nhớ cache cho URL được chuyển hướng của mình, bạn có thể sử dụng Web Developer Extensiontạm thời để kiểm soát hành vi thay đổi của firefox để luôn kiểm tra phiên bản mới, sau đó đặt nó trở lại cài đặt bình thường của bạn. Điều này nằm trong Phần mở rộng Web Develoepr -> Vô hiệu hóa -> Vô hiệu hóa bộ nhớ cache -> Kiểm tra phiên bản mới hơn của trang -> Kiểm tra phiên bản trang mới hơn mọi lúc.
cptstubing06,

1
Cho dù bạn chọn phương pháp nào, quy trình là thay đổi cài đặt này để luôn kiểm tra phiên bản mới, sau đó tải URL của bạn có chuyển hướng được lưu trong bộ nhớ cache. Sau đó, nó sẽ truy cập vào máy chủ và nhận bất kỳ phản hồi mới nào tồn tại cho url đó và cập nhật bộ nhớ cache của nó với phản hồi mới. Sau đó, bạn có thể đặt tần suất kiểm tra bộ nhớ cache của mình trở lại giá trị ban đầu (mặc định là "Khi trang đã lỗi thời", nhưng tôi sẽ sử dụng "Một lần mỗi phiên" để tình huống chính xác này sẽ được xử lý mà không có sự tham gia của tôi ngay bây giờ).
cptstubing06

@ cptstubing06 cảm ơn vì mẹo đó! ước gì bạn đã gửi nó như một giải pháp để tôi có thể ủng hộ nó như là cách tốt nhất để xử lý vấn đề này khi bạn không muốn xóa toàn bộ bộ nhớ cache của mình.
Mercurybullet

FYI bạn có thể phải tắt để tính năng DNS over HTTPSnày hoạt động như mong đợi.
dùng2741287

25

Tôi vừa trải qua vấn đề này, và đối với tôi đó là hai vấn đề.

Tên miền cụ thể này được định tuyến thông qua Cloudflare, vì vậy tôi phải đặt nó ở chế độ phát triển. Tôi nghĩ rằng Cloudflare đã lưu vào bộ nhớ đệm chuyển hướng 301 nên nó không phải gửi yêu cầu đến máy chủ. Bước này rõ ràng có thể không áp dụng cho bạn.

Sau đó, tôi chỉ cần xóa bộ nhớ cache của Firefox (phiên bản 11) bằng cách đi tới Công cụ -> Tùy chọn, nhấp vào nút Nâng cao ở phía trên bên phải, chọn tab Mạng, sau đó nhấp vào Xóa ngay trong phần Nội dung web được lưu trong bộ nhớ cache. Lưu ý rằng bộ nhớ cache của tôi đã được đặt thành 0, nhưng tôi vẫn cần nhấp vào nút Clear Now để chuyển hướng ngừng được lưu vào bộ nhớ cache.

Tôi muốn biết liệu có ai khác có thể xác minh điều này không.


2
+1. Ghi chú của bạn về việc xóa bộ nhớ cache của Firefox đã khắc phục sự cố này cho tôi (với tư cách là người dùng / khách hàng, không phải chủ sở hữu trang web) cho một URL cụ thể mà Firefox không chọn 301 đã được cập nhật. Cảm ơn.
Jon Schneider

1
Bạn có thể xóa các chỉ chuyển hướng lưu trữ với plugin Firefox này: addons.mozilla.org/en-us/firefox/addon/cacheviewer-continued
Steve

9

Tôi đã tìm thấy giải pháp cho vấn đề này hoạt động trên Firefox 26, sau khi có một chuyển hướng lỗi thời được lưu trong bộ nhớ cache hơn một tháng và khởi động lại.

  1. Trên menu Lịch sử, chọn Hiển thị Tất cả Lịch sử.
  2. Trong tìm kiếm, hãy nhập tên miền có vấn đề chuyển hướng được lưu trong bộ nhớ cache để hiển thị danh sách kết quả.
  3. Nhấp chuột phải vào một trong số chúng và chọn "Quên về trang web này".

Tất cả các trang được lưu trong bộ nhớ cache, hình ảnh và chuyển hướng chỉ cho trang web đó sẽ bị xóa khỏi bộ nhớ cache. Điều này cho phép bạn xóa chuyển hướng cho trang web phát triển của mình mà không xóa phần còn lại của bộ nhớ cache.

Một lưu ý nhỏ, tôi nghĩ Firefox chỉ nên chuyển hướng vào bộ nhớ cache trong vài ngày. Việc lưu trữ chúng trong hơn một tháng có thể khiến một sai lầm đơn giản trở thành một vấn đề lớn.


2
Điều này hoạt động, nhưng lưu ý rằng "Quên về trang web này" cũng sẽ quên lịch sử URL (để tự động hoàn thành) và thậm chí cả mật khẩu đã lưu cho cả miền. Có thể không phải là những gì bạn muốn.
tanius

5

Một cách khắc phục nhanh chóng là sử dụng cửa sổ trình duyệt riêng tư.


Đó là cách khắc phục nhanh chóng của tôi và đôi khi chỉ cần thêm dấu chấm hỏi vào cuối URL cũng có thể thực hiện được thủ thuật.
johnsnails

5

Các công cụ dành cho nhà phát triển được tích hợp trong các phiên bản Firefox gần đây có giải pháp cho việc này. Đầu tiên, tắt bộ nhớ đệm khi ngăn nhà phát triển đang mở:

  • Trên bất kỳ trang nào, nhấn F12để hiển thị các công cụ dành cho nhà phát triển
  • Ở ngoài cùng bên phải, nhấp vào biểu tượng bánh răng "Tùy chọn hộp công cụ"
  • Dưới Advanced Settings kiểm tra tùy chọnDisable Cache (when toolbox is open)

Bây giờ bất cứ lúc nào bạn muốn buộc làm mới một trang đã lưu trong bộ nhớ cache, hãy tải / làm mới trang bằng hộp công cụ nhà phát triển F12 đang mở. Firefox sẽ bỏ qua bộ nhớ cache và lấy dữ liệu mới từ máy chủ.

Tôi thích phương pháp này hơn vì nó không thay đổi cách trình duyệt hoạt động để duyệt web không gỡ lỗi "bình thường" và bạn không có nguy cơ quên khôi phục cài đặt chung về giá trị ban đầu của nó.

Đã xác minh trong Firefox 39


1
Nó không giúp chuyển hướng được lưu trong bộ nhớ cache.
SuperDuck

3

A 301 cho biết đã di chuyển vĩnh viễn. Vì vậy, tôi thấy nó là hợp lý để lưu vào bộ nhớ cache phản hồi.

Bạn đã thử đặt tiêu đề cache-controlexpireschưa?

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9


3
Đôi khi chúng tôi đang phát triển hoặc di chuyển máy chủ, hoặc truy tìm lỗi và thực sự cần phải tắt nội dung này vì nó thực sự có thể cản trở.
Jason

2

Trong phiên bản Firefox 38.0

Menu -> Edit -> Preferences -> Advanced -> Network -> Clear Now

Đã làm cho tôi.


1

301 có nghĩa là Đã chuyển vĩnh viễn và có thể truy cập được, vì vậy tôi nghĩ đó là hành vi "đúng" cho trình duyệt. Bạn nên sử dụng 303 Xem Khác .


5
IE và Chrome cache 303 và thông số HTTP đang được thay đổi để cho phép lưu vào bộ nhớ đệm. Xem bản nháp tại tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-15 . Vì vậy, cách an toàn duy nhất để ngăn chặn bộ nhớ đệm chuyển hướng là đặt tiêu đề kiểm soát bộ nhớ cache rõ ràng.
Boris Zbarsky
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.