HTTP.

devtools/2025/2/22 21:30:02/

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.ppmy.cn/devtools/161027.html

相关文章

RK Android11 WiFi模组 AIC8800 驱动移植调试记录

RK Android11 WiFi模组 AIC8800 驱动移植调试记录 作者:Witheart更新时间:20250221 概要:本文记录了 RK3568 平台上移植并调试 WiFi6 模组 AIC8800 的过程,涵盖 WiFi 和蓝牙驱动的适配与问题排查。 配置流程在另一篇文章&#x…

WPS/WORD$OffterAI

OfficeAI助手简介 Last modified: 14 二月 2025 ⬇️ 点击这里高速下载 功能简介 OfficeAI 助手 是一款免费的智能AI办公工具软件,专为 Microsoft Office 和 WPS 用户打造。 无论你是在寻找如何输入“打勾(√)符…

设计模式教程:享元模式(Flyweight Pattern)

享元模式(Flyweight Pattern)是一种结构型设计模式,用于减少对象的创建数量,避免大量相似对象的内存占用。它通过共享对象来有效支持大量的细粒度对象,尤其是在需要大量类似对象的情况下,享元模式可以显著节…

PyTorch-基础(CUDA、Dataset、transforms、卷积神经网络、VGG16)

PyTorch-基础 环境准备 CUDA Toolkit安装(核显跳过此步骤) CUDA Toolkit是NVIDIA的开发工具,里面提供了各种工具、如编译器、调试器和库 首先通过NVIDIA控制面板查看本机显卡驱动对应的CUDA版本,如何去下载对应版本的Toolkit工…

典型的OSPF配置案例

案例1:单区域OSPF基础配置 场景:3台路由器直连,部署在Area 0中。 配置Router R1 interface GigabitEthernet0/0 ip address 10.1.1.1 255.255.255.0 ! router ospf 1 router-id 1.1.1.1 network 10.1.1.0 0.0.0.255 area 0 配置Router R2 interface GigabitEthernet0/0…

【单臂路由配置】

【单臂路由配置】 设备接口IP子网网关vlanR1G0/0/1.1192.168.1.254255.255.255.0NAvlan10R1G0/0/1.2192.168.2.254255.255.255.0NAvlan20R1G0/0/1.3192.168.3.254255.255.255.0NAvlan30PC1e0/0/1192.168.1.1255.255.255.0192.168.1.254vlan10PC2e0/0/1192.168.2.1255.255.255.0…

FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器

本文使用 DDS 生成三个信号,并在 Vivado 中实现低通滤波器。低通滤波器将滤除相关信号。 介绍 用DDS生成三个信号,并在Vivado中实现低通滤波器。低通滤波器将滤除较快的信号。 本文分为几个主要部分: 信号生成:展示如何使用DDS&am…

HarmonyOS学习第3天: 环境搭建开启鸿蒙开发新世界

一、引言 在数字化时代,操作系统作为连接用户与硬件设备的桥梁,其重要性不言而喻。HarmonyOS 作为华为公司推出的面向全场景的分布式操作系统,以其创新的理念和卓越的性能,正逐渐在全球范围内崭露头角。它打破了设备之间的界限&a…