解析 If-Modified-Since 标头 (node.js)
Posted
技术标签:
【中文标题】解析 If-Modified-Since 标头 (node.js)【英文标题】:Parse If-Modified-Since Header (node.js) 【发布时间】:2016-12-10 22:18:45 【问题描述】:我正在尝试在我正在编写的服务器托管程序中实现发送 304 标头以提高性能,但我不知道如何解析 If-Modified-Since 标头的日期。我还想知道如何确定 If-Modified-Since 日期是否比我代码中的另一个日期更早/更新。
【问题讨论】:
【参考方案1】:以防万一有人遇到......
要从"Last-Modified"
解析日期,您可以使用Date 构造函数,该构造函数采用日期字符串。
您还可以使用Date.parse,它返回自纪元以来的毫秒数(对于无效日期,它返回NaN
)。
要以适合"Last-Modified"
或"If-Modified-Since"
标头的格式打印回日期,您可以使用Date 的toUTCString() 方法。
var date = new Date("Wed, 17 May 2017 04:44:36 GMT");
var ms = Date.parse("Wed, 17 May 2017 04:44:36 GMT");
console.log('parsed date: ', date);
console.log('parsed date ms: ', ms);
console.log('If-Modified-Since: '+date.toUTCString());
【讨论】:
【参考方案2】:要解析日期,请使用new Date(datestring)
或Date.parse(datestring)
。要查看某个日期是否比另一个日期新或旧,请使用大于 (>) 和小于 (
【讨论】:
以上是关于解析 If-Modified-Since 标头 (node.js)的主要内容,如果未能解决你的问题,请参考以下文章
在“If-Modified-Since”HTTP 标头中使用客户端生成的时间
Cloudfront如何每次都避免If-Modified-Since标头请求