HTTP缓存头Last-Modified和ETag介绍
程序员文章站
2024-01-10 17:43:20
第一次请求
请求:
复制代码 代码如下:
get /pic/201408/102.jpg http/1.1
host: www.jb51.net
connecti...
第一次请求
请求:
复制代码 代码如下:
get /pic/201408/102.jpg http/1.1
host: www.jb51.net
connection: keep-alive
cache-control: no-cache
accept: image/webp,*/*;q=0.8
pragma: no-cache
user-agent: mozilla/5.0 (windows nt 6.1) applewebkit/537.36 (khtml, like gecko) chrome/29.0.1547.66 safari/537.36
referer: //www.jb51.net/
accept-encoding: gzip,deflate,sdch
accept-language: zh-cn,zh;q=0.8
响应:
复制代码 代码如下:
http/1.1 200 ok
content-length: 66529
content-type: image/jpeg
last-modified: tue, 19 aug 2014 12:23:54 gmt
accept-ranges: bytes
etag: "029e570a8bbcf1:1ae2"
server: microsoft-iis/6.0
x-powered-by: asp.net
date: wed, 20 aug 2014 00:29:03 gmt
xxx
第二次请求
请求:
复制代码 代码如下:
get /pic/201408/102.jpg http/1.1
host: www.jb51.net
connection: keep-alive
cache-control: max-age=0
accept: image/webp,*/*;q=0.8
pragma: no-cache
if-modified-since: tue, 19 aug 2014 12:23:54 gmt
user-agent: mozilla/5.0 (windows nt 6.1) applewebkit/537.36 (khtml, like gecko) chrome/29.0.1547.66 safari/537.36
if-none-match: "029e570a8bbcf1:1ae2"
referer: //www.jb51.net/
accept-encoding: gzip,deflate,sdch
accept-language: zh-cn,zh;q=0.8
响应:
复制代码 代码如下:
http/1.1 304 not modified
last-modified: tue, 19 aug 2014 12:23:54 gmt
accept-ranges: bytes
etag: "029e570a8bbcf1:1ae2"
server: microsoft-iis/6.0
x-powered-by: asp.net
date: wed, 20 aug 2014 00:29:54 gmt
http缓存是为了节省网络传输数据量,服务器端的资源没有变化时返回304且内容为空。last-modified和etag都是用于http缓存,浏览器在第二次请求时会将其传回给服务器用于判断资源是否有变化。etag是http/1.1标准开始引入的,它是对last-modified的补充,主要原因有以下几点:
·一些周期性修改的文件,修改时间变了但内容没变,此时不希望重新get;
·一些文件修改非常频繁,比如1秒内修改了多次,last-modified只能精确到秒;
·一些服务器不能得到文件修改的精确时间;
说明:http/1.1标准没有规定etag的内容是什么或者说要怎么实现,唯一规定的是etag需要放在引号内。
上一篇: js获取每一个想要变为大写字母的class,小写字母转大写
下一篇: 浅议PHP程序开发中的模板选择
推荐阅读
-
HTTP缓存头Last-Modified和ETag介绍
-
http响应Last-Modified和ETag以及asp.net web api实现
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍
-
http响应Last-Modified和ETag以及asp.net web api实现
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍_PHP
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍_PHP
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍
-
浅析HTTP消息头网页缓存控制以及header常用指令介绍_php技巧