Firefox'u yeniden yönlendirmeleri (301 ve 302) ÖNLEMEYE zorlamanın herhangi bir yolu var mı?


11

Ben bir web geliştiricisiyim ve 301 veya 302 yönlendirmesini oluşturmak veya değiştirmek zorunda kaldığım birçok kez var. Yönlendirmeleri önbelleğe aldığı için Firefox'ta hemen yapılan değişiklikleri test etmek hantaldır, bu yüzden yönlendirme sunucu tarafını değiştirir ve ardından sert yenileme yaparsam eski yönlendirme önbelleğe alınır, bu yüzden yenisini test edebilmemin tek yolu önbelleğimi silmektir veya özel bir tarayıcı oturumu başlatmak.

Bununla birlikte, etrafta çalışmak özellikle zor değil, ancak özellikle unutmayı unuttuğumda can sıkıcı ve önbelleği silmeyi veya yeni bir özel oturum başlatmayı hatırlayana kadar yeni yönlendirmem çalışmıyor gibi görünüyor .

Normal kullanım için yönlendirmeleri önbelleğe almanın neden yararlı olduğunu anlıyorum, ancak hata ayıklama amacıyla davranışı devre dışı bırakmak istiyorum.

Yanıtlar:


8

Geliştirici araç kutusu paneliniz açıksa (olduğu gibi F12) önbelleğe başvurmayı kapatmak için bir seçenek belirleyebilirsiniz .

Bu seçeneği ayarlamak için:

  1. Herhangi bir sayfada, F12geliştirici araç kutusu panelini açmak için tuşuna basın.
  2. Söz konusu panelin sağ üst kısmındaki dişli çark simgesini tıklayın.
  3. Orada, "Gelişmiş Ayarlar → Önbelleği Devre Dışı Bırak (araç kutusu açıkken)" seçeneğini işaretleyin.

Önbellek yönlendirmeleri, geliştirici araç kutusu paneli açılmadan yine de ziyaretlerden önbelleğe alınır, ancak geliştirici araç kutusu açık olduğu sürece bu önbelleğe başvurulmaz ve güncellenmez . Bu nedenle, Firefox'u yalnızca geçici olarak yönlendirmeleri önbelleğe almayacak veya önbellekten yönlendirmeleri sunmaya zorlayacaksınız, ancak kullanım durumunuz için yeterli olabilir.

Firefox 41'de doğrulandı. Ryan Bemrose'un başka bir soruya vereceği yanıttan uyarlanmıştır .


2

Durumların% 99'unda yönlendirmeleri önbelleğe almanın neden yararlı olduğunu tamamen anlıyorum, ancak bu davranışı devre dışı bırakmanın bir yolu var mı?

Eğer bunu bir web sunucusu geliştirme bakış açısıyla yapıyorsanız, “sonsuz gelişme ayarı” ihtiyaçlarınız için tarayıcı “her ne pahasına olursa olsun önbellek” davranışının değiştirilmesini beklemek bu canavara saldırmanın yanlış yoludur. Web sunucusu yönlendirmelerinde hata ayıklarken, tarayıcıların sağladığı tam sayfa oluşturma çıktısına değil , başlık çıktısını kontrol etmeye odaklanmanız gerekir .

Bunun yerine, 301 ve 302 yönlendirmelerinde hata ayıklama için çok yararlı olan başlıkları döndürmek için nasıl kullanılacağını curlve -Ikomut satırından seçeneği öğrenmenizi tavsiye ederim . Komut satırından. Resmi curlkılavuz sayfasında açıklandığı gibi , -Iseçenek:

-Yöneldim

(HTTP / FTP / DOSYA) Yalnızca HTTP üstbilgisini getirin! HTTP sunucularında, belgenin başlığından başka bir şey elde etmek için kullanılan HEAD komutu bulunur. Bir FTP veya FILE dosyasında kullanıldığında, curl yalnızca dosya boyutunu ve son değişiklik süresini görüntüler.

Örneğin, a yapın curl -I google.comve çıktı şu şekilde olacaktır:

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

Ve tüm yönlendirme zincirini başlıklar üzerinden takip etmek istiyorsanız, -L(aka:) seçeneğini --locationşu komuta şu şekilde ekleyin :

curl -I -L google.com

Ve konum yönlendirme zincirini takip eden bu komutun çıktısı şöyle olur:

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

HTTP/1.1 301 Moved PermanentlyYanı sıra üstbilgi yanıtı not edin Location: http://www.google.com/. Web geliştirme hedefiniz Apache yeniden yazma kuralları ve yönlendirmeleri gibi şeyleri test curl -Ietmekse, ince ayarlarınızın ne yaptığını görmenize yardımcı olacak en iyi araçtır.

Ve bu ince ayarlar tamamlandıktan ve mükemmelleştirildikten sonra, her şeyin canlandığını görmek için gerçek bir tarayıcıda son bir koşu yapın.


2

Firefox Firebug'da, Netsekmenin altında "Önbelleği Devre Dışı Bırak" adlı bir seçenek vardır. Yönlendirme testi yaparken bunu ters çeviririm, aksi halde çeviririm.

resim açıklamasını buraya girin


1

Git about:configve ikisini birden browser.cache.disk.enableve browser.cache.memory.enablefalse olarak ayarlayın. Bu, "Tarayıcı Önbelleğini Devre Dışı Bırak" seçeneğini işaretlemekle aynıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.