HTTP协议-HTTP基本认知

序言

HTTP协议处于四层网络协议模型的应用层,是互联网世界的基础。在HTTP协议上,有衍生封装了很多rpc应用,例如说SOAP调用。

我们常常在学习到一定程度时,基础知识不够,导致学习稀里糊涂。在学习到HTTP服务器或者WEB容器时,听到HTTP长连接、Nginx反向代理、HTTPS等,由于欠缺基础,感觉什么都是新的,基础不够,影响掌握这些开源组件的速度。学习要从基础开始,因此掌握HTTP是必须的。

HTTP纵横观点

HTTP是“活”的

协议是怎么来的,是根据具体的场景,解决具体的问题触发产生的。HTTP并不是一个静止的协议,而是一个不断演化的协议,正式因为生命力强,所以才不断演化。如果一个协议若干年未变,说明这个协议应用范围有限,或者正在消亡。


http演化.png
  • HTTP从一开始比较简单的原型,到各种优化,例如说长连接、cookie等优化,最终写入rfc,标志了HTTP被世界认可,真正广泛应用。这是HTTP/1
  • 为了解决安全问题,在tcp和http层之间增加了一个中间层,SSL/TLS,解决加密解密的安全问题。这是HTTPS
  • 为了解决HTTP/1的排队阻塞问题,以及安全等问题,google利用自身的巨大优势,将自身的方案提案为HTTP/2
  • 还是google,提出并利用UDP作为传输层协议,这就是HTTP/3

正如生命力比较旺盛的语言一样,例如JAVA中增加函数式等,HTTP协议也是一种旺盛的网络协议,是“活”的。

HTTP协议特点
  • HTTP是可扩展的。不同于SNMP等协议,HTTP的协议头除了公共约束,是可以扩展的,所以后面才产生若干优化。
  • HTTP是可靠的,正如上面HTTP演化所述,HTTP/1、HTTPS、HTTP/2都是基于TCP的,而HTTP/3虽然是基于UDP,但是实际上是在UDP上层,把TCP的控制等专门提取出一个协议,然后在这个协议上开发HTTP/3,所以说HTTP/3也是可靠的。
  • HTTP可以传输任意内容,如上所述,可以封装其它协议,如果SOAP,这是SOA架构的基础。
  • HTTP是无状态的,每个请求都毫无关联,为了实现会话等,所以有cookie。

小结

如上,我们从历史观和特点初步认知了HTTP,接着再用一系列小短文,对演化中的各个角色一一介绍。

你可能感兴趣的:(HTTP协议-HTTP基本认知)