Last-Modified缓存机制

本文详细介绍了HTTP缓存机制中的Last-Modified与If-Modified-Since的工作原理,通过客户端和服务端之间的交互说明如何利用这些头部信息减少不必要的数据传输,从而提高网页加载速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)在客户端第一次输入url是,服务器端会返回内容和状态码200,表示请求成功,同时会添加一个“Last-Modified”的响应头,表示此文件在服务器上的最后更新时间;
2)客户端第二次请求此URL时,客户端会像服务器发送请求头“If-Modified-Since”,询问服务器该时间之后当前请求内容是否有被修改过,如果服务器的内容没有变化,则自动返回HTTP304状态码(只要响应头,内容为空,这样就节省了网络带宽)
Spring提供的对Last-Modified机制的支持,只需要实现LastModified接口,并重写getLastModified方法,保证当内容发生改变时返回最新的修改时间即可。
实例:

    @RequestMapping("/test")
    public class TestClass implements LastModified {
        private long lastModified;
        public long getLastModified(HttpServletRequest request) {
            //时间戳逻辑,返回最后修改时间,例如
            if (lastModified == 0L) {
                lastModified = System.currentTimeMillis();
            }
            return lastModified;
        }
        //下面可写普通的Mapping请求对应的处理逻辑方法
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值