您的位置:首页 > 文旅 > 美景 > 制作公司网页多钱_安徽网页设计培训_seo如何提升排名收录_推广软文案例

制作公司网页多钱_安徽网页设计培训_seo如何提升排名收录_推广软文案例

2024/12/23 9:27:54 来源:https://blog.csdn.net/2402_84438596/article/details/143253511  浏览:    关键词:制作公司网页多钱_安徽网页设计培训_seo如何提升排名收录_推广软文案例
制作公司网页多钱_安徽网页设计培训_seo如何提升排名收录_推广软文案例

day03|计算机网络重难点之HTTP中常见的状态码、什么是强缓存和协商缓存

    • 6.HTTP中常见的状态码有哪些?
    • 7.什么是强缓存和协商缓存

6.HTTP中常见的状态码有哪些?

image-20230811164251602

常用的包括以下几个:

200:表示客户端请求成功

201:创建了新资源。

204 :无内容,服务器成功处理请求,但未返回任何内容。

301:永久重定向

302: 临时重定向

304:请求的内容没有修改过,所以服务器返回此响应时,不会返回网页内容,而是使用缓存

401:请求需要身份验证

403:请求的对应资源禁止被访问

404:服务器无法找到对应资源

500:服务器内部错误

503: 服务不可用

7.什么是强缓存和协商缓存

强缓存和协商缓存是HTTP缓存机制的两种类型,它们用于减少 服务器 的 负担、提高网页加载速度。

1.强缓存:是指浏览器在请求资源时,先检查本地缓存是否存在该资源的副本,且该资源是否有效。如果有效,浏览器直接从本地缓存中获取资源,不需要请求到服务器。

常见的强缓存策略有两种:

  • Expires 强缓存:它是HTTP/1.0协议中的字段,它告诉浏览器 资源过期的时间。当浏览器再次请求该资源时,会先比较当前时间与过期时间。如果未过期则直接使用本地缓存,如果过期则向服务器发出请求。这里有一个巨大的漏洞:”如果本地时间不准怎么办?“,所以目前已经被废弃了。
  • Cache-Control 强缓存:它是HTTP/1.1协议中的字段,它可以设置多个指令来控制缓存行为。常用指令有:max-age、no-cache、no-store等。其中,max-age指令告诉浏览器资源的有效期,no-cache指令告诉浏览器不使用强缓存,而是使用协商缓存

2.协商缓存:是指当强缓存失效的时候,浏览器向服务器发送请求,通过ETag 和 Last-Modified等HTTP响应头,向服务器验证 资源是否已被修改。

如果资源没有被修改,服务器返回 304 Not Modified 状态码,告知浏览器 使用 本地缓存;如果资源被修改了,则服务器返回新的资源,然后浏览器更新本地缓存。协商缓存这种方式需要和服务器进行通信,但是可以确保客户总是能获取最新的资源。

协商缓存 主要有两种:

  • 第一种是基于Last-Modified 的协商缓存:

    • Last-Modified 的含义是 资源 最后被修改的时间,包含在响应头部中
    • 当客户端 读取到 Last-Modified的时候,会在这上面的时间 作为下一次请求中的字段 If-Modified-Since 的值
    • 服务器对比 If-Modified-Since值与当前资源的Last-Modified 值。如果没有变化,表示资源没有被修改,返回状态码 304 Not Modified。如果这个值不同,说明资源已经被修改了,此时服务器会给浏览器正常返回资源并返回200状态
    • 但是这种协商缓存有两个缺点:
      • 因为它是根据文件的修改时间来判断的,但是可能存在文件修改时间已经更新,而文件内容却不变的情况,比如说修改文件名再改回来。这样就会导致文件内容没有改变,但是缓存依然失效
      • 因为它是以秒为单位来记录文件修改时间的,所以文件在几百毫秒内被修改的话,并不会被记录。所以会出现 即使内容被修改了,依然不返回新资源的 情况。
  • 第二种是基于 ETag 的协商缓存:它是指将原来的比较时间戳 改成了 比较文件指纹,也就是 根据文件内容 计算出 唯一的哈希值

    • ETag 就是文件指纹,也就是 该资源的唯一标识符。ETag是根据文件计算出的哈希值,被服务器连同资源一起 发给客户端
    • 客户端 将响应得到的ETag值 放在 请求头部 的 If-None-Match 字段中
    • 服务器比较 请求中的 If-None-Match 值与 当前资源的 ETag 值,如果指纹一致,则说明资源没有发生变化,返回状态码 304 Not Modified。如果指纹不一致,则说明资源已被修改,那么服务器就会将 新的文件指纹 放入 响应头部的 ETag中,最后返回给客户端

如图:

image-20230817150953002

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com