终于有人把HTTP讲的一清二楚了——缓存篇

本文详细介绍了HTTP协议中的缓存机制,包括Cache-Control、Expires、Last-Modified、Etag等报文头的作用,以及协商流程、缓存时间选择和浏览器操作对缓存的影响。同时提出了解决缓存问题的改进方案,如使用md5/hash缓存和CDN缓存。
摘要由CSDN通过智能技术生成

概述

HTTP协议的缓存是通过6个报文头完成的,通过两层协商使web资源能够不那么频繁地在服务器与客户端之间传递,从而节约了流量,提高浏览速度。以从客户端到服务器的顺序,第一层协商为Cache-Control与Expires;第二层协商为Last-Modified与Etag。

相关的报文头

Cache-Control

请求/响应报文头,缓存控制字段,也就是用于给资源生命期,是http/1.1引入的属性。Cache-Control的取值可细分为两类,一类是对缓存有直接决定性的值,他们会导致后续的第二层协商被跳过,包括:no-store、public、private;另一类是类似Expires的值,只是规定了有效期,后续的第二层协商不受影响,包括no-cache、max-age=x、s-maxage=x。

Cache-Control的取值如下:

形如:

Cache-Control:max-age=0

Expires

响应报文头,代表资源过期时间,由服务器返回提供,是http1.0的属性,在与Cache-Control共存的情况下,优先级要低。Expires的功能基本与Cache-Control的max-age相似,但它是指定一个过期时间点,而Cache-Control的max-age是指定了过期前的秒数。

形如:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值