Подтвердить что ты не робот

Как полностью исключить ответы HTTP 304 в статическом промежуточном программном обеспечении Connect/Express?

Иногда во время разработки было бы очень полезно предотвратить HTTP 304 ответы (в пользу 200-х) и вызвать Connect/Express статическое промежуточное программное обеспечение для чтения каждого ответ от файловой системы, а не кэширование вообще.

Я попытался сыграть с maxAge значениями 0 и 1, безрезультатно:

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

Ответ 1

Это решение является лишь обходным решением. Вы можете решить проблему со стороны браузера отключить кеширование в Chrome. Это не поможет вам, если вам нужно работать над чем-то вне Chrome, например Safari на iOS.

Ответ 2

Я получаю 200 ответов, делая это во время разработки:

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

Ответ 3

он считывает из файловой системы каждый ответ. просто, если запрос ETAG соответствует ETAG ответа, он не отправляет тело ответа, потому что ему это не нужно. Это тот же файл с тем же хешем. так работают 304 ответа.

почему вы хотите предотвратить 304 ответа?

Ответ 4

app.disable('etag');

предотвращение "etag" в ответ может помочь