八股文打卡day8——计算机网络(8)
2023-12-23 22:40:32
面试题:什么是强缓存和协商缓存?
我的回答:
强缓存:浏览器不需要发送请求到服务器,直接从浏览器缓存中获取数据。浏览器不需要和服务器进行交互就可以获取数据,这样极大提高了页面访问速度。
协商缓存:协商缓存,顾名思义就是需要浏览器和服务器协商一下,浏览器只需要向服务器发送一个请求头,看该资源是否被修改过,如果资源没有变化,服务器返回304状态码(Not modified),直接让浏览器从本地缓存中获取资源。
强缓存不需要和服务器进行交互;而协商缓存需要和轻量级服务器进行交互。
这两种缓存都提高了页面的访问速度,减少了服务器的负载。
面试题:强缓存和协商缓存的工作流程?
我的回答:
强缓存的工作流程:
1.浏览器发出请求
2.首先检查浏览器缓存中是否有请求的该资源,如果有该资源,就检查缓存控制头(cache-controler)或expires,看看是否到期。
如果没有到期,就直接从缓存中加载该资源;如果到期了,就向服务器请求新的资源。
3.浏览器向服务器发起请求,服务器进行响应,并返回对应的资源和缓存控制头。
4.浏览器获取到新的资源,进行渲染。并更新本地缓存。
协商缓存的工作流程:
1.浏览器向服务器发起请求。
2.浏览器检查浏览器缓存中该资源是否存在。如果存在,则将该资源的响应头(包含If-Modified-Since或Etag等)发送给服务器;如果不存在,则该请求就变成了一个普通的请求。
3.服务器检查该资源的状态。如果该资源没有修改,服务器则返回304(Not modified)状态码。如果该资源被修改了, 服务器返回200和新的资源内容。
4.浏览器处理请求。响应状态码为304,则直接加载本地缓存,渲染页面。响应状态码为200,则加载返回的新的资源,然后渲染页面。
回答八股的时间:2023.12.23
文章来源:https://blog.csdn.net/Elon15/article/details/135173745
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!