📅  最后修改于: 2023-12-03 14:41:05.003000             🧑  作者: Mango
在Express.js中,res.vary()
函数用于通知客户端该响应的Vary头。 Vary头指定了一组请求头字段,在这组请求头字段值未发生变化的情况下,缓存可以使用此响应。
通常情况下,Vary头用于缓存处理。当代理人接收Vary头的响应时,它们必须只发送给具有与原始请求相同的头值的请求。
res.vary(field)
field
: 字符串,表示Vary头中的请求头字段。如果没有提供field
参数,则该函数将不会做任何更改。如果提供了field
参数,则它将被添加到Vary头中。
app.get('/user/:id', function(req, res) {
res
.status(200)
.vary('User-Agent')
.json({ id: req.params.id, name: 'John Doe' });
});
在上面的示例中,服务器响应包含一个Vary头指定User-Agent
字段。这意味着在接收到新请求时,如果请求的User-Agent
与之前的请求相同,则缓存可以使用响应。
res.vary()
函数是一种非常有用的方式来设置响应Vary头,促进有效的缓存。可以适用于各种不同情况,例如当需要缓存响应以供不同的客户端使用时。