Last-Modified的核心定义
Last-Modified是Apache服务器通过HTTP响应头向客户端传递的资源最后修改时间标记,遵循RFC 1123日期格式(如Last-Modified: Tue, 24 Feb 2009 08:01:04 GMT),用于标识服务器端资源(如HTML、CSS、JS、图片等)自上次修改后的时间戳。
Last-Modified的工作机制
它是HTTP协商缓存验证体系的关键组成部分,通过与客户端请求头If-Modified-Since配合,实现资源是否更新的判断:
Last-Modified字段(携带服务器记录的资源最后修改时间)。Last-Modified时间戳共同存入本地缓存。Last-Modified时间作为If-Modified-Since请求头发送给服务器。If-Modified-Since时间与当前资源的最后修改时间:
If-Modified-Since时间≥当前修改时间),返回304(Not Modified)状态码,响应体为空,客户端直接从缓存加载资源;If-Modified-Since时间<当前修改时间),返回200状态码及新资源内容,客户端更新缓存。Last-Modified的应用价值
该机制通过减少重复资源传输,显著提升网络性能:
Last-Modified的局限性
尽管有效,但仍存在以下不足:
Last-Modified更新,但实际内容未变化,导致缓存失效;与ETag的互补关系
Last-Modified通常与ETag(资源内容哈希值)结合使用,构成更完善的缓存验证体系: