参考:
http://hyj1254.iteye.com/blog/1165387
http://blog.csdn.net/ysdaniel/article/details/7969766
http://www.mamicode.com/info-detail-239502.html
http://www.51testing.com/html/28/116228-238337.html
http://www.cnblogs.com/yuyii/archive/2008/10/16/1312238.html
http://www.cnblogs.com/yinhaiming/articles/1490811.html
http://www.mamicode.com/info-detail-1001851.html
http://www.cnblogs.com/littlewish/archive/2013/02/28/2936004.html(强烈推荐啊)
HTTP协议知识点(收集):http://www.cppblog.com/age100/archive/2010/06/25/118688.aspx
你应该了解的 一些web缓存相关的概念.:http://www.cnblogs.com/_franky/archive/2011/11/23/2260109.html
1、Cache-Control (HTTP 1.1才有的,HTTP 1.0用的是Pragma)
Cache-Control 是HTTP请求头中最重要的规则。这个字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令。“Cache-control”头常见的取值有:
1)public 指示响应可被任何缓存区缓存。
2)private 指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。
3)no-cache 强制本次请求直接发送给源服务器,而不经过本地缓存版本的校验,即使它在上次请求时已经缓存了一份拷贝。但这个头不是说响应不被缓存
4)no-store 响应内容不会被缓存
5)must-revalidate
6)max-age=xxx (xxx is numeric) 缓存的内容将在 xxx 秒后失效
默认为private
2、Expires和Cache-Control max-age=xxx的区别
如: Expires: Tue, 04 Apr 2017 16:01:25 GMT
Cache-Control: max-age=31536000
Expires头是一个绝对时间,表示过期时间。
Cache-Control头表示从服务器生成该资源开始,经过多少秒之后该资源过期。
3、Last-Modified/If-Modified-Since
当需要对已缓存的文档进行再验证时,请求头就会包含一个If-Modified-Since头,
4、ETag/If-None-Match
5.、响应头 Date与Age的区别
附一个在2016年4月10日20:30分左右发起的一个完整的请求/响应的例子:
请求:
GET http://c.hiphotos.baidu.com/lbs/pic/item/d62a6059252dd42acade5d14043b5bb5c8eab8be.jpg HTTP/1.1
Host: c.hiphotos.baidu.com
Connection: keep-alive
Accept: image/webp,image/*,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
Referer: http://www.nuomi.com/?cid=002540
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: BAIDUID=A6435462A3C72FF8EEC3D96C4668027C:FG=1; BIDUPSID=A6435462A3C72FF8EEC3D96C4668027C; PSTM=1453195713; MCITY=-%3A; BDUSS=t2N3h1OVN-dDN4Q0RBdFdjQn5OUkpjeFl0cm9XSHZMWVE4SmN3WnNjdE4teDFYQVFBQUFBJCQAAAAAAAAAAAEAAABf0E0jeXpweXpweXpwNDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1u9lZNbvZWfm; pgv_pvi=6272187392; pgv_si=s1122789376; H_PS_PSSID=18881_1427_19673_19554_18240_17947_19694_19559_15311_12188
响应:
HTTP/1.0 200 OK
Server: JSP3/2.0.14
Date: Sun, 10 Apr 2016 12:30:47 GMT
Content-Type: image/jpeg
Content-Length: 2137
ETag: "3549785939280256512"
Last-Modified: Fri, 01 Apr 2016 04:14:21 GMT
Expires: Tue, 04 Apr 2017 16:01:25 GMT
Age: 505682
Cache-Control: max-age=31536000
Accept-Ranges: none
Error-Message: OK
X-Cache: MISS from HexinFirewall
Connection: keep-alive
Exif II* Ducky d ,http://ns.adobe.com/xap/1.0/ <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d
*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable