经典五层模型
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/永久统一资源定位符