当前位置:   article > 正文

Http、Https、Http2、Http3 学习及对比_http http2 http3

http http2 http3

记一次 HTTP 的知识扫盲

What

什么是 HTTP ?

HTTP ( hypertext transfe protocol ) 超文本传输协议,是一个简单的 请求-响应 协议。

    通过浏览器和服务的数据交互,进行超文本(文本、图片、视频等)传输数据的一种双向规定协。

Base

     HTTP 通常运行在 TCP 之上,指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
说到这里,就要提一句计算机网络的七层架构

在这里插入图片描述

  • Level 1 物理层:网络的物理形式,例如平衡电缆、光纤、无线信道等;
  • Level 2 数据链路层:用作网络的数据通道,建立逻辑连接、进行硬件地址寻址;
  • Level 3 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择,例 HTTP 协议;
  • Level 4 传输层:进行网络数据通讯,TCP、UDP 协议,数据包离开网卡就会进入网络传输层;
  • Level 5 会话层:建立和维会话同步;
  • Level 6 表示层:把传输的数据转化合适的公共语言,以便交互操作,例如 JPEG、ASCll、DECOIC、加密格式;
  • Level 7 应用层:面向具体的应用传输数据。

了解上述模型之后,知道 HTTP 的应用环境,在 TCP/IP 协议之上。

IP 在虚拟网络中,代替主机的真实物理 MAC 地址,作为地址;

TCP( Transmission Control Protocol ) 传输控制协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 会帮助我们建立链接,数据传输通道,会对数据进行分组和排序,可以保证数据不会丢失;

UDP ( User Datagram Protocol )用户数据报协议。与 TCP 协议一样,处于传输层,用于处理数据包。不过与 UDP 不提供数据包分组和排序,传输速度快,无法确定数据是否安全到达,数据有丢失的风险。

知道上述的概念后,数据的传输可以认为,每个主机(根据 IP 区分)发送数据,通过 TCP 建立的数据通道,使用 HTTP 协议传输到另一台主机上。它们依赖关系下图所示
在这里插入图片描述

至此,就可以开心的碎碎念记录 HTTP 了。

Content

HTTP 特点:超文本,灵活可扩展,可靠,请求-应答,无状态,明文。

Header

格式:请求行,请求头,空行,请求体
在这里插入图片描述
蓝色区域为请求行,后面为请求体,\r\n 空行(CRLF)表示请求体这一行的结束。
在这里插入图片描述
Hi,HTTP,我想搞点大数据还不能丢失,你能行吗。

数据分组

上述 HTTP 的一个特点是可灵活扩展,那么我们在传输大大大数据的时候,就可以使用数据分组的形式传输数据,浏览器会把分组的内容组装起来,用来保证数据可靠性。思路大致如下:
在这里插入图片描述
⚠️注意: 在分组传输大数据的时候,需要设置 TRansfer-Encoding: chunked(不可与 content-length 同时使用)

Hi,HTTP,有个新活,看电影

范围请求

如果想在浏览器上看电影,按秒请求数据显然不合理,那么就需要设置请求的范围(偏移量),需要设置 Content-Type:bytes x-y/length 请求的响应数据也会有对应的状态标示,响应是否成功,206 - 数据存在;416 - 范围不存在。举个栗子

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/178421
推荐阅读
相关标签