Max-age和Expires的区别

Expires

ExpiresHTTP/1.0中的,它比max-age要麻烦点。Expires指定的时间分下面二种,这个主要考虑到apache中设置是A还是M

1.相对文件的最后访问时间(Atime)
Apache使用A时间来做Expires时.这样设置时,他就和max-age的值相等,因为max-age是相对文件的请求时间(Atime)。

例如:ExpiresByType text/html A600

由上面我们得知,Apache设置Atime时,过期为600秒时。
Expires=18:00+600=18:10
max-age=18:00+600=18:10
得出:Expires=max-age

2.绝对修改时间(MTime)

这又分二种情况,我们来拿A.htm来讲:假设文件的建立时间18:00

  • 当用户Request请求为18:00时,过期为600
    Expires=18:00+600=18:10
    max-age=18:00+600=18:10
    得出:Expires等于max-age

  • 当用户Request请求为18:20时,过期为600

    Expires=18:00+600=18:10(因为设置成Mtime时,时间由文件建立时间来决定)
    max-age=18:20+600=18:30
    得出:Expires不等于max-age

即:当使用MTime时,Expires的初始值为文件创建时间;而Max-age的初始值为客户端请求数据的时间.

另外要注意,像上面这种清况时,max-age优化,所以过期时间为18:30

上一篇:Codeforces Round #600 (Div. 2)


下一篇:Codeforces Round #600 (Div. 2) E. Antenna Coverage