压缩HTTP请求和响应数据的方法

简介: 压缩HTTP请求和响应数据的方法

在客户端和浏览器进行信息交互的时候,如果直接传输文件,可能会消耗太多的流量,通过压缩技术可以为我们节省很多流量,下面来介绍下HTTP响应数据是如何进行压缩的。

HTTP响应数据压缩

使用Gzip压缩文本

浏览器和服务器之间会使用主动协商机制,浏览器向服务器发送请求的时候,其请求标头中会含有Accept-Encoding字段,其中包含了客户端支持的压缩算法,以及各自的优先级,服务器则从中选择一种,使用该算法对响应的消息主体进行压缩,并且发送Content-Encoding首部来告知浏览器它选择了哪一种压缩算法。

  • 客户端请求标头实例

image.png

服务器端响应标头实例

image.png

HTTP请求数据的压缩

头部数据压缩

HTTP协议是不支持头信息压缩的,但是HTTP2引入了头信息压缩机制,一方面,头信息可以使用gzip或compress压缩后再发送,另一方面,客户端和服务器同时维护一张头信息表,所有字段都会存入这个表,生成一个索引号,以后就不发送同样字段了,只发送索引号。

请求体数据压缩

上文中,我们提到了HTTP协议中的Accept-Encoding/Content-Encoding机制,这套机制可以很好地用于文本类响应正文地压缩,可以大幅度地减少网络传输,从而一直被广泛使用,但HTTP请求地发起方,无法事先知晓要访问地服务端是否支持解压,所以现阶段地浏览器没有压缩请求正文。

有一些通讯协议基于HTTP做了拓展,他们地客户端和服务端是专用地,可以放心大胆地压缩请求正文,例如WebDAV客户端就是这样地。

实际地Web项目中,会存在请求正文非常大的场景,例如发表长篇博客,上报用于调试的网络数据等待,这些数据如果能在本地压缩后再提交,就可以节省网络流量、减少传输时间。下面将介绍如何对HTTP请求正文进行压缩,包含如何再服务端解压、如何在客户端压缩两部分。

下面是三种常见的文本压缩方式

  1. DEFLATE
  2. ZLIB
  3. GZIP
相关文章
|
1天前
|
消息中间件 测试技术
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
轻量消息队列(原MNS)以其简单队列模型、轻量化协议及按量后付费模式,成为阿里云产品间消息传输首选。本文通过创建主题、订阅、配置告警集成等步骤,展示了该产品在实际应用中的部分功能,确保消息的可靠传输。
10 2
|
3天前
|
JSON API 数据格式
Python中获取HTTP请求响应体的详解
本文介绍了如何使用Python的`requests`和`urllib`库发送HTTP请求并处理响应体。`requests`库简化了HTTP请求过程,适合快速开发;`urllib`库则更为底层,适用于性能要求较高的场景。文章详细演示了发送GET请求、处理JSON响应等常见操作。
|
8天前
|
前端开发 JavaScript Java
如何捕获和处理HTTP GET请求的异常
如何捕获和处理HTTP GET请求的异常
|
10天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
10天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
安全 中间件
不安全的HTTP方法
检查原始测试响应的“Allow”头,并验证是否包含下列一个或多个不需要的选项:DELTE,SEARCE,COPY,MOVE,PROPFIND,PROPPATCH,MKCOL,LOCK,UNLOCK,PUT
721 0
不安全的HTTP方法
|
2月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
1月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
147 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
1月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
80 4
|
5月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。