Pengalihan 301 Firefox 5 'caching'


92

Apakah ada cara untuk menonaktifkan 'fitur' ini?

Misalnya, jika ada permintaan http://localhost/foo.htmlyang saya tentukan ke '301' ke alamat root, semua permintaan berikutnya untuk foo.htmlmelewati server web sepenuhnya dan ffox 5 akan memeriksa temboloknya, baca bahwa url ini sebelumnya '301' dan mengarahkan ulang tanpa memeriksa perubahan.

Jika saya berhenti foo.htmldari 301'ing, saya harus menghapus cache firefox untuk 'memperbaiki' ini terjadi.

Chrome, IE, dan Firefox versi sebelumnya tidak melakukan ini.


Bahkan menghapus cache tidak menyelesaikan kesalahan ini untuk saya (Firefox 17.0.1, Linux).
Konrad Höffner

2
@kirdie Dalam dialog "hapus riwayat terkini", pastikan Anda menyetel rentang waktu ke "semuanya", dan centang kotak "cache". Jika rentang waktu yang dipilih lebih baru daripada kunjungan Anda ke url yang diarahkan ulang, entri cache tidak akan dihapus.
Kelvin

13
@kirdie dan semua orang dengan masalah yang sama: Lihat riwayat dengan Ctrl + H. Kemudian klik kanan situs dan pilih "hapus semua riwayat untuk situs ini" (atau yang serupa). Itu berhasil untuk saya.
Lars Nyström

4
@ LarsNyström: Mengembangkan aplikasi web dan menjalankannya - saran Anda bekerja dengan sempurna untuk saya. Itu adalah "Lupakan situs ini" di FF20.0
cincodenada

1
Bukankah 301 disebut "dipindahkan secara permanen " Jika saya memiliki server yang hanya melayani https dan orang-orang membuka nama domain saya menggunakan http (cukup buruk, karena mereka akan mengungkapkan permintaan uri), saya ingin browser mengingatnya yang secara permanen dan tidak memeriksa http setiap waktu.

Jawaban:


45

301 hanyalah kode respons normal yang dapat disimpan di cache. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2 mengatakan:

This response is cacheable unless indicated otherwise. 

Jadi, jika Anda tidak ingin cache disimpan, server Anda perlu menunjukkan sebaliknya melalui header normal yang digunakan untuk mengontrol perilaku cache.

Anda juga dapat menghapus cache secara manual .


7
Saya yakin akan lebih mudah menggunakan 302, yang secara default tidak dapat di-cache.
Frank Farmer

22
@ Boris Zbarsky: Bukankah pertanyaannya lebih kepada 'Bagaimana cara menghapus cache' daripada 'Bagaimana cara mencegah penulisan cache terjadi di tempat pertama'?
Bobby Jack

4
Pertanyaannya pasti tampak seperti "Bagaimana cara menjaga diri saya dari keharusan mengosongkan cache" bagi saya!
Boris Zbarsky

17
Ini menyebalkan karena Anda tidak dapat "menggeser-ulang" pengalihan meskipun Anda tahu itu salah. Setiap sumber daya cache buruk lainnya dapat dimuat ulang secara terpisah, tetapi bukan pengalihan sialan ini.
Sam Watkins

1
Saya mencoba menggunakan 302 pengalihan dari IIS, tetapi versi terbaru Firefox (dan Chrome dan Edge dan IE) menyimpan cache juga, dilihat dari perilakunya. Saya menemukan bahwa membuka dan menutup jendela Pribadi adalah cara terbaik untuk menguji situs web dan menghindari keracunan cache browser Anda.
dsmtoday

117

Di Firefox jika Anda memiliki addon bilah alat "pengembang web". Anda dapat mengklik nonaktifkan -> nonaktifkan cache -> periksa versi baru halaman setiap saat. Kemudian muat ulang URL dan itu akan menyegarkan cache Anda. Jadi, Anda tidak perlu menghapus cache lengkap Anda.

Dari komentar cptstubing06, berikut ini dapat membantu membersihkan cache:

  1. Ketik Ctrl+luntuk meletakkan kursor di bilah lokasi.
  2. Ketik about:configuntuk membuka pengaturan konfigurasi .
  3. Konfirmasikan peringatan apa pun.
  4. Ketik browser.cachediikuti dengan Enteruntuk memfilter pengaturan.
  5. Klik dua kali browser.cache.check_doc_frequency.
  6. Ubah nilainya dari 3menjadi 1.
  7. Klik OK.
  8. Kunjungi kembali halaman 301 yang disimpan dalam cache secara obsesif.
  9. Setel ulang frekuensi kembali ke 3 setelah selesai.

Firefox sekarang harus mengalihkan ke halaman baru 301, tidak lagi mengambil halaman yang dialihkan dari cache.


4
Ini adalah solusi yang bagus untuk saya - Saya ingin cache 301 99% dari waktu, tetapi sekali dengan warna biru saya mungkin perlu mengubah lokasi pengalihan, dan tidak ingin menghapus SELURUH cache saya. Hanya untuk memperjelas, Firefox hadir dengan Web Developermenu sendiri di bawah alat, yang bukan addon. Addon ini juga disebut Web Developer, tetapi muncul di menu Alat Anda Web Developer Extensiondan dapat diunduh di sini: addons.mozilla.org/en-us/firefox/addon/web-developer .
cptstubing06

5
Harap diperhatikan - jika Anda ingin firefox memperbarui cache-nya untuk URL yang diarahkan ulang, Anda dapat menggunakan Web Developer Extensionuntuk mengontrol perilaku perubahan firefox sementara untuk selalu memeriksa versi baru, kemudian mengaturnya kembali ke pengaturan normal Anda. Ini ada di bawah Ekstensi Web Develoepr -> Nonaktifkan -> Nonaktifkan Cache -> Periksa Versi Halaman Yang Lebih Baru -> Periksa Versi Halaman Yang Lebih Baru Setiap Saat.
cptstubing06

1
Metode apa pun yang Anda pilih, prosedurnya adalah mengubah pengaturan ini untuk selalu memeriksa versi baru, lalu memuat URL Anda yang memiliki pengalihan cache. Ini kemudian akan masuk ke server dan mendapatkan respons baru apa pun yang ada untuk url itu dan memperbarui cache-nya dengan respons baru. Kemudian, Anda dapat menyetel frekuensi pemeriksaan cache kembali ke nilai asli Anda (defaultnya adalah "Saat halaman kedaluwarsa", tetapi saya akan menggunakan "Sekali per sesi" sehingga skenario yang tepat ini akan ditangani tanpa keterlibatan saya sekarang).
cptstubing06

@ cptstubing06 terima kasih atas tip itu! berharap Anda telah mengirimkannya sebagai solusi sehingga saya dapat memberi suara positif sebagai cara terbaik untuk menangani ini ketika Anda tidak ingin menghapus seluruh cache Anda.
Mercurybullet

FYI Anda mungkin harus menonaktifkan DNS over HTTPSagar ini berfungsi seperti yang diharapkan.
pengguna2741287

25

Saya baru saja mengalami masalah ini, dan bagi saya itu adalah dua masalah.

Nama domain khusus ini dirutekan melalui Cloudflare, jadi saya harus mengaturnya ke mode pengembangan. Saya pikir Cloudflare sedang menyimpan pengalihan 301 sehingga tidak perlu mengirim permintaan ke server. Langkah ini mungkin tidak berlaku untuk Anda dengan jelas.

Kemudian, saya cukup mengosongkan tembolok Firefox saya (versi 11) dengan membuka Alat -> Opsi, mengklik tombol Lanjutan di kanan atas, memilih tab Jaringan, lalu mengklik Bersihkan Sekarang di bawah bagian Konten Web Cache. Perhatikan bahwa cache saya sudah disetel ke 0, tetapi saya masih perlu mengklik tombol Bersihkan Sekarang untuk mendapatkan pengalihan agar berhenti di-cache.

Saya tertarik untuk mengetahui apakah ada orang lain yang dapat memverifikasi ini.


2
+1. Catatan Anda tentang mengosongkan tembolok Firefox telah memperbaiki hal ini untuk saya (sebagai pengguna / klien, bukan pemilik situs web) untuk URL tertentu di mana Firefox tidak mengambil 301 yang telah diperbarui. Terima kasih.
Jon Schneider

1
Anda dapat menghapus hanya pengalihan yang di-cache dengan plugin Firefox ini: addons.mozilla.org/en-us/firefox/addon/cacheviewer-continued
Steve

9

Saya telah menemukan solusi untuk ini yang berfungsi di Firefox 26, setelah pengalihan yang lama disimpan dalam cache selama lebih dari sebulan dan restart.

  1. Pada menu History, pilih Show All History.
  2. Dalam pencarian, ketik domain dengan masalah pengalihan cache untuk memunculkan daftar hasil.
  3. Klik kanan salah satunya dan pilih "Lupakan situs ini".

Semua halaman cache, gambar dan pengalihan hanya untuk situs itu akan dihapus dari cache. Ini memungkinkan Anda menghapus pengalihan untuk situs web pengembangan Anda tanpa menghapus sisa cache Anda.

Sebagai catatan tambahan, menurut saya Firefox seharusnya hanya melakukan pengalihan cache paling lama beberapa hari. Menyimpannya selama lebih dari sebulan dapat membuat kesalahan sederhana menjadi masalah besar.


2
Ini berfungsi, tetapi perhatikan bahwa "Lupakan situs ini" juga akan melupakan riwayat URL (untuk pelengkapan otomatis) dan bahkan sandi yang disimpan untuk seluruh domain. Mungkin bukan yang Anda inginkan.
tanius

5

Salah satu perbaikan cepat adalah menggunakan jendela browser pribadi.


Itu adalah perbaikan cepat saya, dan terkadang hanya menambahkan tanda tanya di akhir URL sudah cukup.
johnsnails

5

Alat pengembang yang dibangun ke dalam versi terbaru Firefox memiliki solusi untuk ini. Pertama, matikan caching ketika panel dev terbuka:

  • Di halaman mana saja, tekan F12untuk memunculkan alat pengembang
  • Di paling kanan, klik ikon roda gigi "Opsi Kotak Alat"
  • Di bawah Advanced Settingscentang opsiDisable Cache (when toolbox is open)

Sekarang kapan pun Anda ingin memaksa menyegarkan halaman yang di-cache, muat / segarkan halaman dengan kotak alat pengembang F12 terbuka. Firefox akan melewati cache dan mendapatkan data baru dari server.

Saya lebih suka metode ini karena tidak mengubah cara peramban berperilaku untuk penjelajahan non-debug "normal", dan Anda tidak berisiko lupa memulihkan setelan global ke nilai aslinya.

Diverifikasi di Firefox 39


1
Itu tidak membantu pengalihan cache.
SuperDuck


2

Di Firefox Versi 38.0

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

Bekerja untuk saya.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.