HTTP协议及发展历史

经典五层模型

HTTP协议发展历史

一、HTTP/0.9(1991年发布)

HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

  • 只有一个 GET 命令
  • 没有 header 等描述数据的信息,服务器只能回应 HTML 格式的字符串

    1
    2
    3
    <html>
    <body>Hello World</body>
    </html>
  • 服务器发送完毕,就关闭 TCP 连接

二、HTTP/1.0(1996.05发布)

  • 增加了很多命令

任何格式的内容都可以发送,新增 POST 和 HEAD 等命令。

  • 增加status code 和 HTTP header

每次通信必须包括头部信息(HTTP header),来描述元数据。

新增状态码(status code)、权限(authorization)、缓存(cache)、多部分发送(multi-part type)、内容编码(content encoding)

三、HTTP/1.1(1997.01发布)

  • 持久连接
  • 管道机制(pipeline),即在同一个TCP连接里面,客户端可以同时发送多个请求。
  • 增加host和其他动词方法:PUT、PATCH、HEAD、 OPTIONS、DELETE。

四、HTTP/2(2015发布)

下一个新版本将是 HTTP/3

  • 所有数据以二进制传输
  • 同一个连接里面发送多个请求不再需要按照顺序来
  • 头信息压缩以及推送等提高效率的功能

参考连接:
HTTP 协议发展历史

HTTP协议三次握手

参考连接:TCP三次握手

URI、URL 和 URN

  • URI:Uniform Resource Identifier/统一资源标识符
  • URL:Uniform Resource Locators/统一资源定位器
  • URN:Uniform Resource Names/永久统一资源定位符
------ 本文结束 ------
0%