Comment empêcher totalement les réponses HTTP 304 dans le middleware statique Connect / Express?

Parfois, au cours du développement, il serait très utile d’empêcher les réponses HTTP 304 (en faveur des 200) et d’obliger le middleware statique Connect / Express à lire chaque réponse à partir du système de fichiers, plutôt que de mettre en cache du tout.

J’ai essayé de jouer avec les valeurs maxAge de 0 et 1, mais en vain:

 app.use(express.static(__dirname + '/public', { maxAge: 1 })) 

Je reçois 200 réponses en faisant cela pendant le développement:

 var express = require('express'); app = express(); app.use(function(req, res, next) { req.headers['if-none-match'] = 'no-match-for-this'; next(); }); 
 app.disable('etag'); 

Empêcher “etag” en réponse peut aider

il lit à partir du système de fichiers à chaque réponse. c’est simplement que si la demande ETAG correspond à la réponse ETAG, elle n’envoie pas le corps de la réponse car elle n’en a pas besoin. C’est le même fichier avec le même hash. C’est ainsi que 304 réponses fonctionnent.

pourquoi voulez-vous éviter 304 réponses?

Cette solution est juste une solution de contournement. Vous pouvez résoudre le problème du côté du navigateur en désactivant la mise en cache dans Chrome . Cela ne vous aide pas si vous devez travailler sur quelque chose en dehors de Chrome, comme Safari sur iOS.