Node.js 缓存控制头未被发回
根据api的以下请求,我将Node.js 缓存控制头未被发回,node.js,curl,cache-control,Node.js,Curl,Cache Control,根据api的以下请求,我将最大年龄固定为30秒:GET/info 当我执行以下命令时curl-xgethttp://localhost:8080/v1/info,我得到了预期的输出: < HTTP/1.1 200 OK < X-Powered-By: Express < Cache-Control: max-age=30 < Content-Type: application/json; charset=utf-8 < Content-Length: 1461 &l
最大年龄
固定为30秒
:GET/info
当我执行以下命令时curl-xgethttp://localhost:8080/v1/info
,我得到了预期的输出:
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Cache-Control: max-age=30
< Content-Type: application/json; charset=utf-8
< Content-Length: 1461
< ETag: W/"5b5-3784247786"
< Date: Thu, 10 Dec 2015 09:18:08 GMT
< Connection: keep-alive
“最大年龄”标题消失
我在两个不同的虚拟机上尝试了这一点,而在另一个虚拟机上,我每次都会收到我的缓存控制
头,因此它可以正常工作。
两台服务器上的
curl
版本(curl7.19.7
)相同 您发送的两个连续请求之间的持续时间是多少?是否大于或小于30秒?最多1-2秒。如果我等待超过30秒,最大年龄将再次出现。为什么不尝试将must revalidate
添加到cache-Control头中,并暂时尝试将该值设置为1/2秒?如果使用以下命令,会发生什么情况:curl-H'缓存控制:无缓存'-X GEThttp://localhost:8080/v1/info
?这应该告诉curl
生成一个HTTP请求,其缓存控制
请求头表示不提供/使用任何缓存数据?如果此命令成功,则标头操作可能不在curl
中(这不会在多个shell调用中保留数据),但可能在其他地方。。。
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Content-Type: application/json; charset=utf-8
< Content-Length: 1461
< ETag: W/"5b5-3784247786"
< Date: Thu, 10 Dec 2015 09:18:11 GMT
< Connection: keep-alive