web-dev-qa-db-fra.com

Y a-t-il quelque chose que je puisse forcer Firefox à ne pas cacher les redirects (301 et 302)?

Je suis un développeur Web et il y a plusieurs fois où je dois créer ou modifier une redirection de 301 ou 302. Il est lourde de tester des modifications immédiates dans Firefox, car elle met en cache la redirection, donc si je change le côté du serveur de redirection, puis rafraîchi dure, l'ancien redirection est mis en cache, donc la seule façon de tester le nouveau est en supprimant mon cache ou démarrer une session de navigateur privé.

Cela étant dit, il n'est pas particulièrement difficile de travailler, mais c'est ennuyeux, surtout quand j'oublie de le faire, et cela semble que mon nouveau redirection ne fonctionne pas, jusqu'à ce que je me souvienne de supprimer le cache ou de commencer une nouvelle session privée .

Je comprends pourquoi il est bénéfique pour cacher les redirections pour une utilisation normale, mais je voudrais désactiver le comportement des buts de débogage.

11
chiliNUT

Vous pouvez définir une option pour désactiver la consultation du cache si vous disposez du panneau de la boîte à outils du développeur ouvert (comme cela se produit avec F12).

Pour définir cette option:

  1. Sur n'importe quelle page, frappé F12 Pour ouvrir le panneau de la boîte à outils du développeur.
  2. Cliquez sur l'icône du matériel en haut à droite de ce panneau.
  3. Là, cochez "Paramètres avancés → Désactiver le cache (lorsque la boîte à outils est ouverte)".

Les redirections de cache seront toujours en cache des visites sans le panneau de la boîte à outils de développeur ouvert, mais que le cache n'est pas consulté ni mis à jour tant que La boîte à outils du développeur est ouverte. . Donc, vous seul temporairement force Firefox à ne pas cache redirige ou servir les redirections du cache, mais cela pourrait suffire à votre cas d'utilisation.

Vérifié dans Firefox 41. Adapté de Ryan Bemrose's Reshant à une autre question.

8
tanius

Dans Firefox Firebug, sous l'onglet Net, il y a une option appelée "désactiver le cache". Je retourne cela lors de la redirection des tests, et je l'ai renversé autrement.

enter image description here

2
chiliNUT

Je comprends complètement pourquoi il est bénéfique pour cacher les redirections dans 99% des situations, mais y est-il de toute façon pour désactiver ce comportement?

Eh bien, si vous le faites à partir d'un point de vue du développement de serveur Web, vous devez modifier le comportement "Cache de tous les coûts" pour que vos besoins "Développement sans fin Mosed" sont le mauvais moyen d'attaquer cette bête. Lorsque vous déboguez des redirects de serveur Web, vous devez vous concentrer sur la vérification de la version Sortie d'en-tête et non sortie de rendu complet de la page Quels navigateurs fournissent.

Donc, à la place, je recommanderais d'apprendre à utiliser curl et le -I Option de la ligne de commande pour renvoyer uniquement les en-têtes très utiles pour le débogage 301 et 302 redirections. De la ligne de commande. Comme expliqué dans la page officielle curl man ', le -I option est:

- i/- tête

(Http/ftp/fichier) récupérer uniquement l'en-tête HTTP! Les serveurs HTTP fonctionnent la commande HEAD que cela utilise pour obtenir uniquement l'en-tête d'un document. Lorsqu'il est utilisé dans un fichier FTP ou de fichier, CURL affiche la taille du fichier et la dernière fois de modification uniquement.

Par exemple, faire un curl -I google.com et la sortie sera quelque chose comme ceci:

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

Et si vous vouliez suivre la chaîne de redirection entière via des en-têtes, ajoutez ensuite le -L Option (alias: --location) à la commande comme ceci:

curl -I -L google.com

Et la sortie de cette commande suivant la chaîne de redirection de l'emplacement serait quelque chose comme ceci:

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

Notez la réponse de l'en-tête de HTTP/1.1 301 Moved Permanently aussi bien que Location: http://www.google.com/. Si votre objectif de développement Web est de tester des choses comme Apache Réécrire les règles et les redirections, curl -I est le meilleur outil pour vous aider à voir ce que font vos modifications.

Et après que ces modifications soient finalisées et perfectionnées, effectuez une dernière course dans un vrai navigateur pour voir tout cela viennent à vie.

2
JakeGould

Aller à about:config et mettre les deux browser.cache.disk.enable et browser.cache.memory.enable à faux. C'est la même chose que la vérification "désactiver le cache de navigateur".

1
Qian