CNode

请求路由时 获得返回状态码 控制台显示是304 网页中显示是200

Bblacksun发布于12 年前最后回复12 年前4 回复7130 浏览0 收藏

/check code

router.get('/check',function(req,res){ fs.readFile('./result.html',function(err,data){ if(err) throw err; res.send(200,data.toString()); }) })

控制台显示 GET GET /check 304 2ms GET /check 304 1ms GET /check 304 1ms

网页中显示200 。。。 请问这是怎么回事 是否跟Python 一样 可以设置不允许重定向 返回304 就会返回304 不是重定向到200

查看回复

回复 (4)

J
jiyinyiyong#1·12 年前

网页控制台里是重定向以后的页面的 200 吧, 确认下 url

B
blacksun#2·12 年前

标准有规定,如果服务器返回304,客户端浏览器在有缓存情况下可以视为200处理 手动setHeader If-None-Match或者If-Modified-Since就可以获取到真实状态码 这是刚才别人回答的。。。 可是 setHeader If-None-Match或者If-Modified-Since 头的值设成什么呢。。。。

M
MiguelValentine#3·12 年前

res.send(200,data.toString()); 卧槽。你都指定了抛200出去。还问。

B
blacksun#4·12 年前

设置的200 控制台显示的是304 我设置了 If-Modified-Since = 0 后 每次控制台都返回 200了

参与回复
登录后即可参与回复。登录