curl:If-Modified-Since命令Linux/Unix示例
时间:2020-01-09 10:42:12 来源:igfitidea点击:
HTTP协议允许客户端为其请求的文档指定时间条件。
它是If-Modified-Since
或者If-Unmodified-Since
。
如何使用curl Unix/Linux命令行选项来测试具有If-Modified-Since条件的服务器并验证" Last-Modified"设置?
您可以使用curl命令查看它们所持有的副本(http资源,例如text/html或者image/png)是否仍然有效。
但是,这仅在响应具有Last-Modified标头的情况下有效。
您可以使用Web服务器或者Web应用程序发送Last-Modified标头。
步骤1:找出回应中是否包含Last-Modified标头
执行以下curl命令:
curl --silent --head http://server1.theitroad.local/foo/bar/image.png curl --silent --head http://server1.theitroad.local/foo/help.html
或者
curl -I http://server1.theitroad.local/foo/bar/image.png curl -I http://server1.theitroad.local/foo/help.html
在此示例中,记下对此HEAD请求的响应中的Last-Modified标头:
$ curl -I http://www.theitroad.local/faq/
输出示例:
HTTP/1.1 200 OK Server: nginx Date: Tue, 11 Dec 2012 10:10:24 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Whom: l2-com-cyber Last-Modified: Tue, 11 Dec 2012 10:10:23 GMT Cache-Control: max-age=299, must-revalidate Vary: Cookie X-Pingback: http://www.theitroad.local/faq/xmlrpc.php X-Galaxy: Andromeda-1 Vary: Accept-Encoding
使用curl命令行发送If-Modified-Since标头的语法如下:
$ curl -I --header 'If-Modified-Since: DATE-FORMAT-HERE' http://server1.theitroad.local/foo/bar/image.png $ curl -I --header 'If-Modified-Since: Tue, 11 Dec 2012 10:10:24 GMT' http://www.theitroad.local/faq/
输出示例:
HTTP/1.1 304 Not Modified Server: nginx Date: Tue, 11 Dec 2012 10:12:11 GMT Connection: keep-alive X-Whom: l2-com-cyber Vary: Cookie Last-Modified: Tue, 11 Dec 2012 10:10:23 GMT X-Galaxy: Andromeda-1 Vary: Accept-Encoding
资源发送304 Not Modified响应,指示它支持Last-Modified验证。