码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【网络】HTTP报文信息


    报文: 用于HTTP协议交互的信息称之为报文。它是由多行数据构成的字符串文本。

    请求报文: 客户端的HTTP报文。

    响应报文: 服务器端的HTTP报文。

    请求报文&响应报文

    报文结构

    请求报文:

    在这里插入图片描述

    响应报文:

    在这里插入图片描述

    概念阐述

    1. 请求行:包含请求的方法,用于请求URI和HTTP版本。
    2. 状态行:包含表明响应结果的状态码、原因短句、HTTP版本。
    3. 首部字段:包含表示请求和响应的各种条件和属性的各类首部。
      1. 一般有各种首部:通用首部、请求首部、响应首部、实体首部。

    编码

    HTTP有两种传输数据的方式:

    1. 按照数据原貌直接传输
      1. 效率慢
    2. 传输过程中通过编码提高效率
      1. 效率高
      2. 但是会消耗更多的CPU资源

    报文主体&实体主体

    报文:

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

    实体:

    作为请求或响应的有效载荷数据被传输。内容由实体首部和实体主体构成。
    HTTP报文主体:用于传输请求或者响应的实体主体。
    📎 一般来说 报文主体 == 实体主体 。但是当传输过程中进行编码操作时,实体主体的内容发生变化,会导致和报文主体产生差异。

    内容编码

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

    在这里插入图片描述

    常见编码格式:

    1. gzip
    2. compress
    3. deflate
    4. identity

    分块传输编码

    在传输大的数据时,通过把数据分成多块,让浏览器逐步显示页面

    步骤:

    1. 将实体主体分为多个部分,每一块用16进制标记块的大小。最后一块用0(CR+LF) 来标记。
    2. 客户端负责解码,恢复到编码前的实体主体。

    在这里插入图片描述

    多部分对象集合

    可以发送多种数据:

    1. multipart/form-data: 用于表单文件上传。

    2. multipart/byteranges: 响应报文包含了多个范围的内容时使用。

    步骤:

    1. 报文中使用多部分对象集合时,要在首部字段加上Content-type,
    2. 使用boundary字符串划分多部分对象集合指明的各类实体。

    获取部分内容的范围请求

    ❓ 场景:下载中断,如何从之前下载中断处恢复下载?

    在这里插入图片描述

    要实现该场景需要指定下载的实体范围。

    范围请求: 指定范围发送的请求

    执行范围请求时,用到首部字段Range指定资源的byte范围。

  • 相关阅读:
    学生个人网页设计作品 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计代做
    dubbo-admin 的安装
    后疫情时代,云计算如何为在线教育保驾护航
    ArcGIS10.1软件安装教程
    Qt5开发从入门到精通——第七篇四节( 图形视图—— 图元创建 GraphicsItem V1.1)
    淘宝API接口商品详情,关键词搜索
    torch.nn.Conv3d()
    从零开始构建并编写神经网络---Keras【学习笔记】[1/2]
    看完这篇JavaScript工作中的问题迎刃而解
    代码随想录算法训练营二十四期第十天|LeetCode232. 用栈实现队列、LeetCode225. 用队列实现栈
  • 原文地址:https://blog.csdn.net/qq_41675812/article/details/132999278
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号