• 04.HTTP报文内的HTTP信息


    HTTP通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应。

    1.HTTP报文

    用于HTTP协议交互的信息称为HTTP报文。

    • 请求报文:客户端的HTTP报文
    • 响应报文:服务器端的报文
    • HTTP报文本身是由多行(CR+LF)数据构成的字符串文本

    HTTP报文大致可分为报文首部和报文主体两块。通常并不一定要有报文主体

    请求报文和响应报文的结构:

     请求报文和响应报文的实例:

     chrome中如何查看:

    请求无Provisional headers are shown. Disable cache to see full headers等warning的可以在Response Headers和Request Headers右侧看到view source的按钮:

    点击即可查看源数据:

     2.编码提升传输速率

    HTTP在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。通过在传输时编码,能有效地处理大量地访问请求。

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

    1.报文主体和实体主体地差异

    • 报文(message)
      • 是HTTP通信中地基本单位,由8位组字节流(octet sequence,octet为8个比特)组成,通过HTTP通信传输
    • 实体(entity)
      • 作为请求或响应地有效载荷数据被传输,其内容由实体首部和实体主体组成
    • HTTP报文的主体用于传输请求或响应地实体主体
    • 通常,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。

    2.压缩传输的内容编码

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

    内容编码:

     常用的内容编码:

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

    3.分割发送的分块传输编码

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

  • 相关阅读:
    Linux之lsof命令
    lnmp一键安装的卸载
    MySQL密码忘了怎么办?MySQL重置root密码方法
    LNMP状态管理命令
    perl5 第一章 概述
    行政级别详解
    http://dl.fedoraproject.org/pub/epel/7/x86_64/,开源软件清单list
    Linux Centos 系统上安装BT客户端 Transmission
    在VPS上安裝BT軟體Transmission
    What is a good EPUB reader on Linux
  • 原文地址:https://www.cnblogs.com/codexlx/p/14149468.html
Copyright © 2020-2023  润新知