面试官:你了解HTTP的缓存技术吗?
创作时间:
作者:
@小白创作中心
面试官:你了解HTTP的缓存技术吗?
引用
CSDN
1.
https://blog.csdn.net/scholar_yao/article/details/137013817
HTTP缓存技术是Web开发中一个重要的优化手段,它能够显著提升网站的加载速度和用户体验。本文将详细介绍HTTP缓存的两种实现方式:强制缓存和协商缓存,帮助读者理解其工作原理和具体应用。
缓存技术的使用可以说非常普遍。
举个例子,我们通过浏览器访问某些网站时,如果重复访问同一个页面每次都向服务器发送请求获取数据,这样显然效率和使用体验不是很好,所以浏览器将重复性HTTP请求的数据缓存在本地。
HTTP缓存的实现有两种方式,分别是强制缓存和协商缓存。
强制缓存
强制缓存是浏览器判断缓存数据是否过期,如果未过期则使用缓存数据;是否使用缓存的决定者是浏览器。
强制缓存是使用HTTP请求的响应头部字段实现的,表示资源在客户端缓存的有效期。如果两个字段同时设置的话,Cache-Control的优先级更高。
Cache-Control:相对时间
Expires:绝对时间
强制缓存的具体流程:
浏览器第一次访问服务器中的数据时,服务器响应数据的同时在响应头中通过Cache-Control设置缓存过期的时间。
当浏览器再次请求服务器中该数据时,浏览器会先通过请求数据的时间与Cache-Control中设置的缓存过期时间计算数据是否过期。未过期则直接使用缓存数据,过期则再次请求服务器获取数据。
服务器再次收到请求后会响应数据,同时更新Cache-Control中的缓存过期时间。
协商缓存
协商缓存是浏览器向服务器发送请求获取数据,服务器并不响应数据给浏览器,而是返回给浏览器一个响应状态码304,这个状态码的意思是告诉浏览器可以使用本地缓存的数据;是否使用缓存的决定者是服务器。
协商缓存是使用HTTP请求的请求头部和响应头部中的字段实现的。
第一种:
请求头部的If-Modified-Since:请求时携带Last-Modified中的时间。
响应头部的Last-Modified:响应数据的最后一次修改时间。
第二种:
请求头部的If-None-Match:请求时携带Etag中的唯一标识。
响应头部的Etag:响应资源的唯一标识。
第一种是基于时间实现的,第二种是基于响应资源的唯一标识实现的;第二种实现方式可以更好的判断资源是否被修改过,从而避免篡改导致不可靠问题。
如果第一次请求数据后,服务器返回的响应头中同时包含了Last-Modified和Etag两个字段,那么再次请求时请求头也会携带这两个字段的信息,但是Etag的优先级更高。
注意:使用协商缓存前都会先进行强制缓存的判断,只有强制缓存判断数据过期后,才会发起带有协商缓存字段的请求。
使用第一种方式和第二种方式实现协商缓存的流程基本一致,区别就在于缓存过期后,再次请求该数据时请求头部携带的是数据最后一次修改时间还是数据唯一标识,服务器根据携带的内容进行判断并做出响应。
下面是使用第二种方式实现协商缓存的具体流程:
浏览器第一次访问服务器的数据时,服务器返回数据的同时返回一个由该响应数据生成的唯一标识。
浏览器再次请求服务器中的该数据时,会先检查强制缓存是否过期;如果没有过期则使用缓存数据;如果已经过期则向服务器发送HTTP请求,请求头部通过If-None-Match字段携带Etag中的唯一标识。
服务器收到请求后通过If-None-Match中的唯一标识与请求数据生成唯一标识对比;如果一致则返回状态码304;不一致则返回状态码200和请求数据,并在响应头部加上新的Etag唯一标识。
浏览器如果收到状态码304则从缓存获得数据,否则更新缓存的数据。
热门推荐
怎么判断大拇指骨折还是扭伤
唐伯虎最经典的10首诗词,藏着人生的悲欢离合
英国早餐有什么
伦敦10家性价比超高的餐厅,让你用小资价格享受高级料理
农村自建房加建二层需要办理哪些手续?
用深度学习模型构建海洋动物图像分类保姆教程
乙肝轻度中度重度怎么区分
高级管理会计职位探析
Cancer Res:转录因子BHLHE40是转移性结直肠癌EMT的驱动因素
《啄木鸟》创刊40周年暨新时代公安法治文学创作座谈会召开
航天员必备的八个条件 需要符合什么要求
孩子发烧耳朵根疼牙疼怎么办?
小孩子牙痛主要是什么原因
中考现代文阅读十大考点答题指导:概括型考点
马桶一般多少升水?选择适宜水量,节能环保更省钱
失业保险缴费41年可以领几个月?今年新沂失业金发放标准有多少?
父城遗址:楚国北方边陲重镇的历史见证
小儿唇炎的治疗方法
氨氯地平贝那普利片是长效降压药吗
运用拟人的诗句古诗全文
晨跑前喝黑咖啡有助于燃脂吗
早上空腹跑步减脂,早上空腹跑步减脂吗
台山游玩攻略:一日游的绝佳景点推荐
斤与公斤换算关系解析:日常生活中的实用技巧与文化背景
唐朝宫廷两位权臣:探索李林甫与李辅国的真实身份
龙虎榜的上榜条件,股票上榜的四大关键条件及市场动态解析
高朋满座可以增进友情吗(享受高朋满座的聚会魅力,打造难忘的社交时光)
硝苯地平缓释片的四种类型:剂量与工艺全解析
我国学者最新研究:每天补充1.1克ω-3脂肪酸,延缓衰老效果最佳
老人嘴唇发紫会有生命危险吗?