Apakah ada cara saya bisa memaksa Firefox untuk TIDAK mengarahkan ulang cache (301 dan 302)?

11

Saya seorang pengembang web, dan sering kali saya harus membuat atau mengubah pengalihan 301 atau 302. Sulit untuk menguji perubahan langsung di Firefox karena cache cache redirect, jadi jika saya mengubah redirect server-side, dan kemudian hard refresh, redirect lama di-cache, jadi satu-satunya cara saya dapat menguji yang baru adalah dengan menghapus cache saya atau memulai sesi browser pribadi.

Meskipun demikian, tidak terlalu sulit untuk dikerjakan, tetapi itu menjengkelkan, terutama ketika saya lupa melakukannya, dan sepertinya pengalihan baru saya tidak berfungsi, sampai saya ingat untuk menghapus cache atau memulai sesi pribadi baru .

Saya mengerti mengapa ini bermanfaat untuk pengalihan cache untuk penggunaan normal, tapi saya ingin menonaktifkan perilaku untuk tujuan debugging.

cabeNUT
sumber

Jawaban:

8

Anda dapat mengatur opsi untuk mematikan konsultasi cache jika Anda memiliki panel kotak alat pengembang terbuka (seperti yang terjadi pada F12).

Untuk mengatur opsi ini:

  1. Pada halaman mana saja, tekan F12untuk membuka panel toolbox pengembang.
  2. Klik ikon roda gigi di kanan atas panel itu.
  3. Di sana, periksa "Pengaturan Lanjut → Nonaktifkan Cache (ketika kotak alat terbuka)".

Pengarahan cache masih akan di-cache dari kunjungan tanpa panel pengembang kotak alat terbuka, tetapi cache itu tidak dikonsultasikan dan tidak diperbarui selama kotak alat pengembang terbuka. Jadi Anda hanya sementara memaksa Firefox untuk tidak me-cache cache atau melayani redirect dari cache, tetapi itu bisa cukup untuk kasus penggunaan Anda.

Terverifikasi di Firefox 41. Diadaptasi dari jawaban Ryan Bemrose untuk pertanyaan lain.

tanius
sumber
2

Saya benar-benar mengerti mengapa menguntungkan untuk mengalihkan arahan di 99% situasi, tetapi apakah ada cara untuk menonaktifkan perilaku itu?

Nah, jika Anda melakukan ini dari sudut pandang pengembangan server web, maka mengharapkan perilaku "cache di semua biaya" peramban diubah untuk kebutuhan "tweaker pengembangan tanpa akhir" yang Anda butuhkan adalah cara yang salah untuk menyerang binatang ini. Ketika Anda debug pengalihan server web, Anda harus fokus pada memeriksa output header dan bukan output rendering halaman penuh yang disediakan browser.

Jadi sebagai gantinya, saya akan merekomendasikan mempelajari cara menggunakan curldan -Iopsi dari baris perintah untuk mengembalikan hanya header yang sangat berguna untuk debugging 301 dan 302 pengalihan. Dari baris perintah. Sebagaimana dijelaskan dalam curlhalaman manual resmi , -Iopsinya adalah:

-I / - kepala

(HTTP / FTP / FILE) Ambil header HTTP saja! HTTP-server menampilkan perintah HEAD yang digunakan untuk mendapatkan header dokumen. Saat digunakan pada file FTP atau FILE, ikal hanya menampilkan ukuran file dan waktu modifikasi terakhir saja.

Misalnya, lakukan a curl -I google.comdan hasilnya akan seperti ini:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

Dan jika Anda ingin mengikuti seluruh rantai pengalihan via tajuk, lalu tambahkan -Lopsi (alias:) --locationke perintah seperti ini:

curl -I -L google.com

Dan output dari perintah itu mengikuti rantai pengalihan lokasi akan menjadi seperti ini:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding

Perhatikan respons tajuk HTTP/1.1 301 Moved Permanentlyjuga Location: http://www.google.com/. Jika tujuan pengembangan web Anda adalah untuk menguji hal-hal seperti aturan penulisan ulang dan pengalihan Apache, curl -Iadalah alat terbaik untuk membantu Anda melihat apa yang sedang Anda lakukan.

Dan setelah tweak tersebut selesai dan disempurnakan, maka lakukan pencarian terakhir di browser nyata untuk melihat semuanya menjadi hidup.

JakeGould
sumber
2

Di Firefox Firebug, di bawah Nettab, ada opsi yang disebut "Nonaktifkan Cache". Saya menyalakan ini ketika melakukan pengujian pengalihan, dan saya gagal jika tidak.

masukkan deskripsi gambar di sini

cabeNUT
sumber
1

Pergi ke about:configdan atur keduanya browser.cache.disk.enabledan browser.cache.memory.enableke false. Ini sama dengan memeriksa "Nonaktifkan Cache Browser".

Qian
sumber