HTTP是浏览器和服务器之间的通信语言,是整个互联网世界的基石。
来总结一下HTTP的演进历史,和每代HTTP协议的特性。
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 文档传输完成后,断开连接。