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

实用指南:HTTP(web缓存与历史迭代)

1介绍:

在现代互联网中,Web 缓存(Web Cache)是一项很核心的技巧,是部署在网络中的"数字中转站",通过预先存储热门网络资源,不仅可以提升用户的访问速度,还能减轻服务器的负担,提高整个网络的效率。

Web缓存也被称为代理服务器/缓存服务器/缓存代理,是一种能够代替原始服务器响应用户请求的网络实体。

Web 缓存服务器拥有自己的存储空间(如硬盘或高速缓存),它许可保存用户最近访问过的网页、图片、视频等资源。当用户再次请求相同的资源时,缓存服务器可能直接返回已保存的副本,而无需每次都向原始服务器发起请求。

此种机制类似于图书馆中的“热门图书借阅区”——如果一本书被很多人借阅,管理员就会多准备几本放在借阅区,方便读者快速获取,而不应该每次都去主书库查找。

2web缓存器的工作流程

Web 缓存的工作流程 假设用户正在访问一个图片资源:

请求地址: http://www.example.com/images/logo.png 以下是 Web 缓存的完整工作流程

1.用户浏览器发起请求 用户在浏览器中输入网址,浏览器会根据配置,将请求发送到Web 缓存服务器,而不是直接连接原始服务器。

2.缓存服务器检查本地是否有副本 Web 缓存服务器会先检查自己的存储空间中是否已经保存了这个资源的副本。如果有的话,它会直接将副本返回给用户,跳过与原始服务器的通信,节省时间和带宽。 ✅ 举例:假设用户之前访问过这个图片,缓存服务器中已经有了它的副本,那么这次请求就会直接从缓存中获取。

3.缓存服务器请求原始服务器如果缓存中没有该资源,缓存服务器就会主动连接原始服务器(在这个例子中是www.example.com 的服务器),并向它发送一个 HTTP 请求,获取这个资源。

4.原始服务器返回资源 原始服务器收到请求后,会像往常一样生成一个 HTTP 响应,并将请求的资源返回给缓存服务器。

5.缓存服务器保存并转发资源缓存服务器在收到资源后,会在自己的存储空间中保存一份副本,继而将这份副本通过已有的连接返回给用户的浏览器。

3.web优势

Web 缓存的优势:

1.加快访问速度

2.减少带宽消耗

3.减轻服务器压力

4.提升用户体验

为了使用 Web 缓存,通常需在用户设备或网络中进行配置:

通过浏览器设置:能够手动设置代理服务器地址,让所有请求先经过缓存;

通过企业网络:很多公司会在局域网中部署缓存服务器,员工访问外部网站时,由缓存统一处理请求; CDN 服务:网站能够借助接入 CDN(如阿里云 CDN、腾讯云 CDN)将内容分发到全国各地的缓存节点,实现自动缓存和加速。

4.对于web缓存器的总结

在现代网络架构中,Web 缓存器扮演着一个特殊而重要的角色。它既不是纯粹的服务器,也不是普通的客户端,而是兼具两者功能的中间设备。这种双重身份使其在提升网络性能、优化资源分发方面发挥了关键作用。

通过我们能够用一个简单的比喻来理解 Web 缓存器的角色转换:

当它接收浏览器请求并返回响应时,它就像一个服务器,为用户提供网页、图片、视频等资源;

当它向原始服务器(如某个网站的主服务器)发起请求并获取资源时,它又像一个客户端,模仿用户行为去获取数据。

这种灵活的身份切换,使得 Web 缓存器能够在不改变用户利用方式的前提下,显著提升网络效率。

5.web缓存器的部署方式

高校校园网

例如,一所大学能够在校园网内部署一台 Web 缓存服务器,并将所有学生和教师的浏览器配置为默认访问这台缓存服务器。这样,当多名用户访问相同的网页或教学资源时,只需从缓存中获取一次,就能满足多人需求,节省带宽资源。

住宅 ISP 网络

比如中国电信、中国移动等运营商,可以在其网络中部署多个 Web 缓存节点,为家庭用户献出更快的网页加载速度。这些缓存服务器通常会预先配置在用户的网络设置中,无需用户手动干预。

企业网络

大型企业为了提升员工访问互联网资源的效率,也常常在企业内部署 Web 缓存服务器,特别是在分支机构与总部之间带宽有限的情况下,缓存能显著减少跨区域数据传输的负担。

为了更清楚地说明 Web 缓存器在网络性能优化中的作用,我们来看一个具体的网络场景,深入理解 Web 缓存的价值。这个场景模拟了一个机构网络(例如大学或企业)与互联网之间的连接情况,并通过数据计算展示缓存器如何显著提升访问速度、降低网络压力。

6.引用一个实例感受web缓存器的作用

我们假设一个典型的网络结构,其中包括:

机构内部网络:一个高速的局域网,连接着多个用户设备; 接入链路:从机构内部路由器到互联网路由器之间的一条带宽为 15 Mbps 的链路;

补充:互联网上的 Web 服务器:这些服务器分布在全球各地,比如阿里巴巴、百度、腾讯等网站的服务器。

我们设定以下访问参数: 平均每个请求的资源大小为 1 Mb(如一张图片、一个网页);机构内部的用户平均每秒发出 15 个 HTTP 请求;HTTP 请求报文非常小,可以忽略其对带宽的影响;从因特网路由器发送请求到接收到服务器响应的平均时延为 2 秒,我们称这个时延为“互联网时延”。

用户请求一个网页或资源时,从发出请求到完全加载资源所需的时间(即总响应时间)主要包括以下三个部分:

1. 局域网时延:用户设备到机构路由器之间的网络传输时间;

2. 接入链路时延:机构路由器与互联网路由器之间的传输时间;

3. 互联网时延:从互联网路由器到目标服务器的往返时间 大家先来计算接入链路和局域网上的流量强度(即链路的使用率),从而判断是否会出现拥塞。

由于每秒15个HTTP请求,每个图片资源1kb,因而瞬时吞吐量15kb,在机构网络中会很正常,但是到接入链路中就会出现障碍了,由于接入链路是刚好等于吞吐量,这个时候p=1也就是说丢包率将会急速上升,想要给接入链路改良换代显然成本很高,所以这个时候选择引入一个web缓存器在机构网络中将很有性价比


7.web缓存器的优化(条件GET方法)

8.举一个实例

9.HTTP的演进

HTTP 协议经过多次迭代,主要版本包括:

HTTP/1.0(RFC 1945)

特点:每个请求-响应需建立独立 TCP 连接,导致“连接开销大”。

问题:加载网页时需多次握手,降低性能。

HTTP/1.1(RFC 7230)

改进:引入持久连接(Keep-Alive),允许复用 TCP 连接,减少握手次数

优化:支撑管道化请求(Pipeline),允许在单个连接中发送多个请求。 现状:截至 2020 年,仍是主流版本。

HTTP/2(RFC 7540) 核心改进:

多路复用(Multiplexing):在单个 TCP 连接中同时传输多个请求和响应,避免“队头阻塞”(宏观并行,微观串行)

头部压缩:减少重复的 HTTP 头部信息;

服务器推送:服务器主动向客户端发送资源(如预加载 CSS)(提前把必须要传递的数据发给客户端)。 优势:显著提升页面加载速度,尤其适用于复杂网页

10.HTTP对现代web的演进支援,与模块化

HTTP的可靠运行得益于TCP/IP协议栈的分层设计:

HTTP专注处理应用层逻辑(请求/响应格式) ,TCP负责数据可靠传输(丢包重传、顺序控制)

IP协议处理网络寻址和路由。

通过通过这种模块化设计,各层能够独立演进。当HTTP升级到新版本时,不需要修改底层的TCP/IP实现,保证了协议体系的稳定性和扩展性。

HTTP 借助定义客户端与服务器的交互规则,构建了 Web 的基础通信框架。其无状态特性简化了设计,但借助 Cookie、Session 等技能弥补了状态管理的不足。 随着 HTTP/2 的普及,多路复用和头部压缩等技术进一步提升了性能,为现代 Web 应用(如流媒体、实时交互)供应了更强支撑。未来,HTTP/3(基于 QUIC 协议)将进一步优化移动端和高延迟网络环境下的性能表现。

11.HTTP/1.1的不足

1.队首阻塞(HOL Blocking)假设一个网页包含以下内容:一个 HTML 页面;一段较大的视频;多个小型资源(如图标、CSS 文件、JavaScript 文件)。 在 HTTP/1.1 中,如果浏览器使用单一 TCP 连接加载这些资源,那么: 视频文件由于体积较大,会占用较长时间传输; 小型资源虽然体积小、加载快,但它们必须排在视频之后才能传输; 结果是:虽然这些小资源加载速度快,但由于队列顺序的问题,它们的加载被延迟了。 这种现象就被称为“队首阻塞”,它会显著增加用户感知的页面加载时间。 为缓解这个困难,HTTP/1.1 浏览器通常会打开多个 TCP 连接,并行下载不同资源。然而,这种途径也带来了额外的开销,比如连接建立的延迟、服务器资源的消耗等。

2.协议头膨胀:HTTP/1.1每次请求需携带完整首部(平均870字节),加载20个资源需传输17.4KB无用数据,相当于:每次网购都要附赠一本《新华字典》大小的协议头。

3.连接数限制:浏览器为规避队首阻塞,需同时建立6-8个TCP连接,如同同时打开8个收银台处理同一单购物。

12.HTTP/1.2的优点

HTTP/2 的设计目标 HTTP/2 的主要目标是减少用户感知的延迟,提高网页加载效率。它在不改变 HTTP 基本语义(如 方法、状态码、URL 和首部字段)的前提下,优化了数据的传输方式和格式化技巧,主要包括以下核心 技术:

1.多路复用:HTTP/2 引入了多路复用工艺,从根本上解决了队首阻塞的问题。 在 HTTP/2 中,一个 TCP 连接可以承载多个请求和响应;每个请求和响应被拆分为多个数据流(Stream); 这些数据流可以在同一个连接中并行传输,互不干扰。

2.请求优先级:浏览器可以为不同资源设置优先级。例如,HTML 档案和关键 CSS 允许优先加载,而图片、视频等可以稍后加载。

3.服务器推送:服务器能够在浏览器尚未请求某些资源时,主动将资源推送给浏览器。例如,当用户请求 HTML 页 面时,服务器可以提前推送相关的 CSS 和 JavaScript 文件,进一步提升加载速度。

4.首部压缩:HTTP 请求和响应中涵盖大量重复的首部信息(如 User-Agent 、 Accept 等)。HTTP/2 使用 HPACK 算法对首部进行压缩,减少传输数据量,尤其适合移动网络等带宽有限的环境。平均压缩比达3:1。

13.TCP拥塞控制技术/HTTP1.2

14.三个机制处理拥塞技术的延迟问题

15.成帧手艺

http://www.hskmm.com/?act=detail&tid=22404

相关文章:

  • 2025.10.1——1橙2黄
  • virtualbox新版安装指定路径--7.2版本之后
  • 2025 年隔音门厂家 TOP 企业品牌推荐排行榜,剧院,ktv,防火 ,软包 ,录音棚 ,静音 ,钢质 ,实验室 ,直播间隔音门推荐这十家公司!
  • 2025年算法备案咨询服务公司TOP最新推荐排行榜单,互联网信息服务,深度合成服务,ai算法备案,互联网算法备案,国家生成式人工智能服务备案咨询公司
  • AT_agc048_b [AGC048B] Bracket Score
  • 2025 年热浸塑钢管工厂 TOP 企业品牌推荐排行榜 ,nhap/NHAP/ 电力 / N-HAP/200 / 新型防腐热浸塑钢管 / 热浸塑穿线钢管 / 电力钢管 / 电力涂塑钢管推荐!
  • 信创PC收藏网址
  • 线程同步实战指南:从 bug 根源到锁优化的终极之路 - 教程
  • 2025 年数据恢复系统推荐转转大师数据恢复,深度剖析各款系统平台核心优势与适用场景数据恢复系统推荐指南
  • 2025 年离心泵厂家 TOP 企业品牌推荐排行榜!化工,卧式多级,不锈钢,立式,氟塑料,管道,衬氟,耐腐蚀离心泵推荐这十家公司!
  • 在线PS的强大功能一览:从基础修图到高级合成,还有这3款免费软件推荐!
  • 详细介绍:抽丝剥茧的Transformer详解
  • 2025 年高压氧舱厂家 TOP 推荐榜单揭晓,家用,高原,小型,单人,民用,专业,医用,家庭,智能,进口高压氧舱公司推荐!
  • oppoR9m刷Linux系统:开启开发者模式
  • macOS 上手记录
  • Google Drive批量转存他人分享的链接的文件
  • 异常检测
  • 2025 年物流公司服务 TOP 企业品牌推荐推荐榜,无锡到西安、无锡到太原、无锡到宁波、无锡到郑州、无锡到上海物流公司推荐!
  • 2025 年曝气器制造厂家 TOP 企业品牌推荐排行榜,微孔 / 平板 / 管式 / 拱形 / 可提升式曝气器公司推荐这 10 家
  • 2025 年石灰料仓厂家 TOP 企业品牌推荐榜单,深度剖析行业优秀企业优势!
  • 完整教程:MYSQL —— 约束和多表查询
  • 排序算法汇总,堆排序,归并排序,冒泡排序,插入排序 - 详解
  • AI元人文:于价值表征困境中试探
  • 解决ubuntu因自动挂起导致电脑卡死
  • 2025板材厂家 TOP 企业品牌推荐排行榜,环保 / 密度 / 净化 / 零醛添加 / 装修 / 生态板 / 指接板 / 直拼板 / PET 实木板材公司推荐!
  • 2线性规划模型建模实战
  • 网络技术:基本结构与协议
  • 《电路基础》第三章学习笔记
  • 移植Linux(No MMU)到ESP32-S3
  • 关于ws连接coinex偶尔会出现几分钟不更新数据的问题 - Charlie