我已经阅读了很多关于此的内容,但仍然很少有误解。
我读到max-age
应该只设置为静态数据。
我使用提琴手作曲家提出这个请求
User-Agent: Fiddler
Host: www.example.com
回应是:
HTTP/1.1 200 OK
Date: Tue, 01 Jan 2013 20:37:31 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Thu, 06 Dec 2012 19:40:14 GMT <======
...
Q#1
如果服务器发送last-modified
标头,是否因为该页面是静态页面?(有人设置max-age
)在服务器端?
Q#2
在客户端收到第一个响应后,下一次它会询问它是否带有If-Modified-Since
标头,服务器可能会返回200
或304
(未修改)。
但是为什么 服务器在他的第一个响应中没有提到max-age
呢?它可以使客户端免于发送第二个请求!
Q#3
虽然这个有条件的假设可以让我免于下载整个页面,但仍然不鼓励 ,那么我还有什么其他选择?(对于静态数据)
Q#4
怎么iis
知道它是否被修改?通过查看修改的文件日期?您是否要告诉我,对于每个日期检查它都在进行IO
访问?如果没有,它在哪里保存该信息?
Q#5
在客户端得到第一个响应后,它需要再次访问该页面。它是否再次发送请求If-Modified-Since
?如果不是,如果页面在这个 intreval 期间确实发生了变化怎么办?如果是 - 为什么服务器用max-age
header 响应?我与它无关。