HTTP 标头 | If-Unmodified-Since
HTTP If-Unmodified-Since标头是一个请求类型的标头,它使请求以具有最后修改时间戳为条件。仅当请求的源在指定日期之后没有被修改时,服务器才会执行请求的操作。如果请求的源已被修改,则服务器将不会执行请求的操作并以412 错误 (Precondition Failed)响应。
让我们考虑一个场景,患者去医学实验室进行 BMI 测试。实验室服务员记录他的身高和体重,并告诉他在 2 天内收集报告。由于某些原因,患者无法收集报告,并在一个月后前往实验室。但是化验员没有给他报告,并告诉他只有在他的体重不变(或未修改)的情况下,测试才有效,否则,结果就会变得不一致。这就是我们的 If-Unmodified-Since HTTP 标头的工作方式。
句法:
If-Unmodified-Since: ,
:: GMT
指令: HTTP If-Unmodified-Since标头接受以下描述的指令:
-
: 包含“Mon”、“Tue”等日期的名称(区分大小写)。 -
: 包含 2 位数字的日期,如“04”或“23”表示天数。 -
: 包含月份的名称,以“Jan”、“Feb”等三个字母组成的月份名称(区分大小写)。 -
: 包含 4 位数年份,如“2009” - <小时>:包含“07”或“12”等2位数小时的小时。
- <分钟>:与小时分钟相同 2 位数分钟,如“09”或“55”
-
: 包含 2 位秒的秒数,如“08”或“50”。 - GMT: HTTP 中的所有日期都将以格林威治标准时间格式显示,而不是本地时间格式。
例子:
- 在标头下方,通知服务器它自 2004 年 2 月 10 日(星期五)以来没有被修改,并且提到的时间是 06:20:00,如果这是真的,那么客户端的请求将继续。
If-Unmodified-Since: Fri, 10 Feb 2004 06:20:00 GMT
注意:这会减少带宽使用并提高您网站的速度。
支持的浏览器:下面列出了与HTTP If-Unmodified-Since标头兼容的浏览器:
- 谷歌浏览器
- IE浏览器
- 边缘
- 火狐
- 歌剧
- 苹果浏览器