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

面经学习-HTTP优化

http应该如何避免发送请求

需要减少发送http请求的次数,当http请求返回的结果可能重复的时候,就要避免发送这类请求

优化的方法有:本地缓存

将请求响应的key和value缓存在本地,发送相同请求时,直接在本地进行读取,同时记录一个估算的过期时间,当读取时发现过期,再发送请求;同时如果服务器上的资源并没有修改(通过比较Etag头部),服务器响应请求时就不带上资源,而是返回304,告诉客户端去读取缓存

如何减少发送次数

1减少重定向请求次数

当服务器资源移动后,客户端通过原来的url访问,服务器会返回302和location用来重定向

可以使用代理服务器来减少重定向次数:

客户端访问资源时,由代理发送请求给资源服务器,资源服务器返回重定向指令,代理重定向访问后得到资源,再返回给客户端,而且此时代理服务器可以记录重定向规则,直接避免了重定向请求的发生

image-20250731151024124

2合并请求

将多个小请求合并成大请求,减少头部

同时可以减少建立的tcp链接数量

具体方法:

1在css中,可以合并多个小图片成为一张大图片发送,浏览器只需要请求一次,再根据css中的数据进行切割还原即可

2可以将小文件进行合并一起发送,效果类似

3使用base64编码图片,夹在html中直接发送,避免请求图片

3延迟发送请求

请求网页时,不需要获取完整的网页内容,只获取用户能看到的部分,当用户滑动页面时再加载接下来的部分达成延迟发送的目的

如何减少响应的数据大小

使用压缩来减少

1无损压缩

适合用在文本文件、程序可执行文件、程序源代码。源文件不会因为解压而被破坏

通过对文本建立统计模型,再使用哈夫曼编码生成二进制序列,频率越高的数据用越短的序列代替即可完成压缩

客户端使用accept-encoding来告诉服务器可选的压缩方式

服务器使用content-endcoding来告诉客户端自己使用的压缩方式

2有损压缩

将次要的数据舍弃,牺牲质量来减少数据量,常用与多媒体数据

可以使用accept字段里的q质量因子来告诉服务器期望的质量

webp格式

http://www.sczhlp.com/news/2370/

相关文章:

  • .NTE开发【库位保存和回显默认值】
  • tryhackme--creative靶场wp
  • 多种数据库混合查询
  • Windows下安装部署多个Nginx
  • ceph:网络上的人真的是习惯于“以讹传讹”:从ceph -s的状态经过信息【mons are allowing insecure global_id reclaim】说起
  • 【原创】python http标准库搭建服务器解析php脚本
  • 「Tekla Structures 2024 下载安激活详细步骤,含China环境+本地许可证配置全流程」
  • linux系统中history增加时间戳.18920467 - 一叶舟
  • 锚框 anchor box
  • 多分支注意力机制提升表格数据建模效果
  • IntelliJ IDEA的安装与配置
  • 比特彗星常见问题-分块校验失败问题
  • cpp选手的python速成指南
  • [题解]P9598 [JOI Open 2018] 山体滑坡 / Collapse
  • 使用CredSniper窃取红队行动中的2FA令牌
  • 软件无线电处理卡设计原理图:227-基于Kintex-7 XC7K325T的FMC USB3.0四路光纤数据转发卡
  • Ubuntu 命令
  • Spring中的事务是如何实现的
  • PADS学习笔记--关于layout
  • 比特彗星常见问题-磁盘提速服务问题
  • 阿里百炼识别本地图片内容
  • conda 或者pip 安装包时报错ModuleNotFoundError: No module named tqdm.auto,
  • 常用的git操作命令
  • Promethues
  • 【WCH蓝牙系列芯片】-基于CH592开发板—BLE_UART程序中,不连接状态下串口数据接收
  • Oracle数据库-AWR(Automatic Workload Repository)报告获取方法
  • 无感注册与登录
  • 比特彗星常见问题-专家模式及其作用
  • C++课程链接
  • 如何安装DashVector向量检索服务SDK