📜  Express.js res.vary()函数(1)

📅  最后修改于: 2023-12-03 14:41:05.003000             🧑  作者: Mango

Express.js res.vary()函数

简介

在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头,促进有效的缓存。可以适用于各种不同情况,例如当需要缓存响应以供不同的客户端使用时。