协议概述
Hypertext Transfer Protocol(超文本传输协议),简称HTTP,设计之初的目的是为了提供一种发布和接收HTML页面的方法,是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
发展历史
HTTP从第一个版本0.9发布至今刚好30年时间,经过了0.9、1.0、1.1、2共4个版本的迭代,各个版本发布时间如下图
协议发展的规则是根据一个最初的目标(提供一种发布和接收HTML页面的方法),设计最初的版本,应用在目标场景,持续发现新场景和当前问题,不断改进,更好的适应更多场景,从下图可以看到HTTP各个版本的迭代详情:
技术原理
TCP/IP参考模型是一个抽象的分层模型,这个模型中,所有的TCP/IP系列网络协议都归类到4个抽象的“层”中。每一抽象层创建在低一层提供的服务上,并且为高一层提供服务:
4 | 应用层 application layer |
例如HTTP、FTP、DNS (如BGP和RIP这样的路由协议,尽管由于各种各样的原因它们分别运行在TCP和UDP上,仍然可以将它们看作网络层的一部分) |
3 | 传输层 transport layer |
例如TCP、UDP、RTP、SCTP (如OSPF这样的路由协议,尽管运行在IP上也可以看作是网络层的一部分) |
2 | 网络互连层 internet layer |
对于TCP/IP来说这是因特网协议(IP) (如ICMP和IGMP这样的必须协议尽管运行在IP上,也仍然可以看作是网络互连层的一部分;ARP不运行在IP上) |
1 | 网络访问(链接)层 Network Access (link) layer |
例如以太网、 |