当前位置 博文首页 > 五虎战画戟:HTTP/1:HTTP性能优化

    五虎战画戟:HTTP/1:HTTP性能优化

    作者:[db:作者] 时间:2021-08-08 19:14

    谈及浏览器中的网络,就避不开 HTTP。我们知道 HTTP 是浏览器中最重要使用最多的协议,是浏览器和服务器之间的通信语言,也是互联网的基石。而随着浏览器的发展,HTTP 为了能适应新的形式也在持续进化,我认为学习 HTTP 的最佳途径就是了解其发展史,所以在接下来的三篇文章中,我会从浏览器发展的视角来和你聊聊 HTTP 演进。这三篇分别是即将完成使命的 HTTP/1、正在向我们走来的 HTTP/2,以及未来的 HTTP/3。

    本文主要介绍的是 HTTP/1.1,我们先讲解 HTTP/1.1 的进化史,然后再介绍在进化过程中所遇到的各种瓶颈,以及对应的解决方法。

    文本传输协议 HTTP/0.9

    首先我们来看看诞生最早的 HTTP/0.9。HTTP/0.9 是于 1991 年提出的,主要用于学术交流,需求很简单——用来在网络之间传递 HTML 超文本的内容,所以被称为超文本传输协议。整体来看,它的实现也很简单,采用了基于请求响应的模式,从客户端发出请求,服务器返回数据。

    下面我们就来看看 HTTP/0.9 的一个完整的请求流程(可参考下图)。

    • 因为 HTTP 都是基于 TCP 协议的,所以客户端先要根据 IP 地址、端口和服务器建立 TCP 连接,而建立连接的过程就是 TCP 协议三次握手的过程。
    • 建立好连接之后,会发送一个 GET 请求行的信息,如GET /index.html用来获取 index.html。
    • 服务器接收请求信息之后,读取对应的 HTML 文件,并将数据以 ASCII 字符流返回给客户端。
    • HTML 文档传输完成后,断开连接。
    HTTP/0.9 请求流程
    HTTP/0.9 请求流程
    cs
    上一篇:没有了
    下一篇:没有了