当前位置: 首页 > article >正文

HTTP.

HTTP主要讲一下状态码和缓存机制

1xx 类状态码属于提示信息,是协议处理中的一种中间状态,如http升级为websocket,会提示1xx

2xx 类状态码表示服务器成功处理了客户端的请求

  • 「200 OK」是最常见的成功状态码
  • 「204 No Content」也是常见的成功状态码,但没返回任何数据
  • 「206 Partial Content」服务器成功处理了部分请求,并返回了资源的一部分(HTTP 分块下载或断点续传)

3xx 类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向

  • 「301 Moved Permanently」表示永久重定向,需改用新的 URL 再次访问
  • 「302 Found」表示临时重定向,暂时需要用另一个 URL 来访问
  • 「304 Not Modified」表示客户端请求的资源没有变化,可以直接使用本地缓存,而无需重新下载

4xx 类状态码表示客户端发送的报文有误,服务器无法处理

  • 「400 Bad Request」表示客户端请求的报文有错误(笼统的错误)
  • 「403 Forbidden」表示客户端没有权限访问该资源
  • 「404 Not Found」表示请求的资源在服务器上不存在

5xx 类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务端的错误码

  • 「500 Internal Server Error」表示服务端内部出现问题(笼统的错误)
  • 「501 Not Implemented」表示客户端请求的功能还没有实现
  • 「502 Bad Gateway」通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误
  • 「503 Service Unavailable」表示服务器当前很忙,暂时无法响应客户端

HTTP缓存:有两种实现方式

  • 强制缓存是指只要浏览器判断缓存没有过期,则直接使用浏览器的本地缓存
    • 当浏览器第一次请求访问服务器资源时,服务器会在返回这个资源的同时,在 Response 头部加上 Cache-ControlExpires
      Cache-Control: max-age=3600
      Expires: Wed, 21 Oct 2025 07:28:00 GMT   (Cache-Control 优先级更高)
    • 浏览器再次请求访问服务器中的该资源时,会先通过请求资源的时间与 Cache-Control 中设置的过期时间大小,来计算出该资源是否过期,如果没有,则使用该缓存,否则重新请求服务器
    • 服务器再次收到请求后,会再次更新 Response 头部的 Cache-Control
  • 协商缓存是指浏览器在请求资源时,会与服务器进行协商,决定是否使用本地缓存
    • 浏览器发出请求时,会携带一些标识信息,如If-Modified-Since(在某时起该资源是否被修改过)、ETag标识某个资源

                If-Modified-Since: Wed, 21 Oct 2025 07:28:00 GMT
                ETag: "abcdef12345"

  •         服务器根据这些信息判断缓存是否有效:
    •         如果缓存有效,服务器返回304 Not Modified,浏览器使用缓存
      • 如果缓存无效,服务器返回新的资源和更新的缓存信息

http://www.kler.cn/a/555941.html

相关文章:

  • 基于STM32单片机的智能蔬菜大棚温湿度监测系统设计
  • 图数据库Neo4j面试内容整理-模式匹配
  • verilog基础知识
  • 不同类型的网站选择不同的服务器,那么应该怎么选择服务器呢?
  • linux核心命令
  • 基于SpringBoot的驾校报名小程序系统设计与实现(源码+文档)
  • 网络安全入门持续学习与进阶路径(一)
  • python flask 使用教程 快速搭建一个 Web 应用
  • react 踩坑记 too many re-renders.
  • 信号与系统研究
  • 基于Python+Sqlite实现的选课系统
  • 【GreatSQL优化器-15】index merge
  • 改BUG:Mock测试的时候,when失效
  • 深入解析 Uniapp 的页面结构
  • 【蒸馏(1)】UniDistill:用于BEV 3D检测的通用跨模态蒸馏框架!
  • 量子比特的实现与优化技术:解密量子计算的核心
  • 《耀百岁中医养生平台的技术革命——千年中医的智能觉醒》
  • HarmonyOS NEXT 前沿技术理论解析与学习路径(API 12+)
  • C# WPF调用C++ dll 结合opencv
  • AcWing走迷宫-最短路问题-BFS求解