如何完全阻止HTTP连接中/快速静态中间件304升的反应?(How to totally preve

2019-08-16 16:20发布

在开发过程中的时间,这将是非常好的防止HTTP 304回应(有利于200的的),并导致连接/快速静态中间件来读取文件系统中的每个反应,而不是做任何缓存的。

我曾试图用打maxAge的0和1的值,都无济于事:

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

Answer 1:

我得到开发过程中这样做,200点回应:

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


Answer 2:

app.disable('etag');

防止“ETAG”响应可以帮助



Answer 3:

它从每个响应的文件系统读取。 它只是如果请求ETAG响应ETAG相匹配,则不会发送响应的主体,因为它不就得了。 这是用相同的哈希值相同的文件。 这是304级的响应是如何工作的。

你为什么要阻止304升的反应?



Answer 4:

该解决方案仅仅是一个解决办法。 您可以通过解决从浏览器端的问题, 在Chrome中禁用缓存 。 如果您需要到Chrome浏览器之外的东西的工作,像Safari浏览器在iOS这不帮助你。



文章来源: How to totally prevent HTTP 304 responses in Connect/Express static middleware?