3.3编码提升传输速率

HTTP在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。

通过在传输时编码,可以有效地处理大量的访问请求。

但是,编码的操作需要计算机来完成,因此会消耗更多的CPU资源。

3.3.1报文主体和实体主体的差异

  • 报文(message)

    是HTTP通信中的基本单位,由8位组字节流组成,通过HTTP通信传输。

  • 实体(entity)

    作为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成。

HTTP报文的主体用于传输请求或响应的实体主体。

通常,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。

报文和实体着两个术语在之后会经常出现,请大家务必理解这两个术语

3.3.2压缩传输的内容编码

向待发送邮件内增加附件时,为了使邮件容量变小,我们会先用ZIP压缩文件之后再添加附件发送。HTTP协议中有一种被称为内容编码的功能也能进行类似操作。

内容编码指明应用在实体内容上的编码格式,并保持实体信息原样压缩。内容编码后的实体由客户端接收并负责解码。

常用的几种编码格式有以下几种:

  • gzip(GNU zip)
  • compress(UNIX 系统的标准压缩)
  • deflate(zlib)
  • identity(不进行编码)

3.3.3分割发送的分块传输编码

在HTTP通信的过程中,请求的编码实体资源尚未全部传输完成之前,浏览器无法显示请求页面。在传输大容量数据时,通过把数据分割成多块,能够让浏览器逐步显示页面。

这把实体主体分块的功能称为分块传输编码(Chunked Transfer Coding)。

分块传输编码会将实体主体分成多部分(块)。每一块都会用十六进制来标记块的大小,而实体主体的最后一块会用“0(CR+LF)”来标记。

使用分块传输编码的实体主体会由接收的客户端负责编码,恢复到编码前的实体主体。

HTTP/1.1中存在一种称为传输编码的机制。它可以在通信时按照某种编码方式传输,但只定义于分块传输编码中。

这一章主要讲了HTTP传输时使用的编码格式和技术,虽然篇幅较少,但都是十分重要的内容。

以后网络基础相关的部分可能会更新的稍微慢一点,因为奶嘴买的Python书到了qwq,以后也会更新跟python相关的内容qwq。

感谢大家的关注和支持QWQ

09HTTP报文内的HTTP信息——编码提升传输速率相关推荐

  1. (chap 3 Http报文内的http信息) 编码提升传输速率(1)

    HTTP在传输数据时可以按照数据原貌直接传输,但也可以传输过程中通过提升传输速率. 1. 报文主体和实体主体 HTTP报文的主体用于传输请求或响应的实体主体.通常报文主体等于实体主体.只有当传输中进行 ...

  2. (chap 3 Http报文内的http信息) 编码提升传输速率(2)

    1. 发送多种数据的多部分对象集合 邮件采用了MIME ( Multipurpose Internet Mail Extensions,多用途因特网邮件扩展)机制,它允许邮件附加文本.图片.视频等多个 ...

  3. 《图解HTTP》读书笔记--第3章HTTP报文内的HTTP信息

    写在前面:本文仅供个人学习使用,如有侵权,请联系删除.文章中所用图片绝大多数来源于<图解HTTP>,请读者支持原版. 文章目录 第3章 HTTP报文内的HTTP信息 3.1 HTTP报文 ...

  4. http发送16进制报文_图解HTTP 第三章HTTP报文内的HTTP信息

    1.HTTP报文 1).报文首部 服务器或客户端需处理的请求或响应的内容及属性 2)空行 16进制  0x0a 16进制 0x0d CR(Carriage Return,回车)'\n' LF(Line ...

  5. (chap3 Http报文内的http信息) HTTP报文格式

    HTTP报文是由多行数据构成的字符串文本(用CR+LF作换行符).大致可以分为报文首部和报文主体两块,通常并不一定要有报文主体. 1. 请求报文与响应报文的结构 2. 请求报文和响应报文的首部内由以下 ...

  6. js 复制指定元素内的文本信息到剪切板(navigator.clipboard和document.execCommand)

    因为 document.execCommand('copy')已被弃用,所以我们首选navigator.clipboard进行异步获取 //navigator clipboard 向剪贴板写文本 na ...

  7. 论文浅尝 | 利用跨内和跨间信息的预训练实体关系编码器

    笔记整理 | 朱珈徵,天津大学硕士 链接:https://www.aclweb.org/anthology/2020.emnlp-main.132.pdf 动机 从自由文本中提取实体和关系是自然语言处 ...

  8. 关于举办2021年湖北省学生信息素养提升实践活动的通知

    活动对象 参加信息素养提升活动的对象为全省小学.初中.高中(含中职)在校学生. 活动机构 成立信息素养提升活动领导小组,下设组委会办公室和专家指导组(活动仲裁组),承担活动具体实施工作. 领导小组组长 ...

  9. MapReduce处理两个文件内不同行信息

    MapReduce处理两个文件内不同行信息 文章目录 MapReduce处理两个文件内不同行信息 一.MapRedce简单介绍 二.题目要求 三.详细步骤 1.创建项目(高端玩家请跳过) 2.分析题目 ...

最新文章

  1. 关于JavaScript中Function Declaration与Function Expression的进一步说明
  2. 81. 搜索旋转排序数组 II---Leecode----java
  3. PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
  4. 使用Newtonsoft.Json格式化JSON文档
  5. hql中获取前一天的数据_如何使用DNS和SQLi从数据库中获取数据样本
  6. 瑞星力荐金山毒霸 原来是广告程序 作崇
  7. android实现视频壁纸,ffmpeg/camera实现最近很火的视频壁纸,相机壁纸
  8. 软件使用经验合集(操作系统、常用软件)
  9. 什么是集合?数组与集合的区别
  10. 【opencv】凹点切分,种子计数,细胞计数前提 17/7/25更新
  11. oracle经典50题及答案,Oracle经典练习题及标准答案
  12. 树莓派安装共享打印机HP LaserJet CP1025(foo2zjs)
  13. -20dB谱宽是什么意思?
  14. delphi中常见错误提示说明总结
  15. 苹果手机以旧换新活动_苹果中国宣布以旧换新活动延期至3月25日
  16. 网络攻防第一次实验——搜索引擎和扫描器的使用
  17. 怎么在手机上取消双重认证_座机电话转接到手机,怎么设置怎么取消?
  18. 使用sourcTree完成项目的hotfix操作步骤
  19. 砂石过滤器的工作原理及操作说明
  20. 温度信号波形c 语言,基于CC2530的温度报警器的应用实现

热门文章

  1. MinGW64编译OpenSSL
  2. java中属于高级事件的有,(盘点)计算机等级考试题库,二级Java试题
  3. 目标检测+目标追踪+单目测距(毕设+代码)
  4. screen安装与命令详解
  5. ELK-日志分析系统
  6. Mac OS X 几个实用快捷键
  7. Oracle 11gR2 RAC安装
  8. 浓眉哥去向成悬疑剧 NBA交易转会“戏精”越来越多
  9. mybatis级联查询(主子查询)
  10. 阿里云合并优酷CDN业务 CDN降价降幅最高达35%