TCP/IP协议族以及HTTP协议

  计算机中的协议是什么?人类科学的发展基于的就是类比和学习,这里也可以参考类比的方式,计算机类似人,协议类似语言,而不同的场景可能需要使用不同的语言,比如暗语,手语,人类语言,动物语言等等,不同的场景采用不同的语言,同样的协议也需要这样做,因地制宜是人类的光荣传统嘛。所以呼之欲出的就是TCP/IP协议族,这是一系列协议的统称。

  首先需要明白的是TCP/IP协议族是分层的,不同的层有这个层对应的协议,这个层就是实际创造协议时的一种构造思路,一大堆牛人辛苦的结晶,不必疑惑,该懂时自然懂,不该懂讲给你听你也不懂:

   为什么要分层?因地制宜和化整为零永远是解决问题最好的办法,上面的四层是粗浅的划分和七层更加细致的划分,想表达的内容是一样的,大致上看就大概知道其中的缘由,这里就不细说了,下面是TCP/IP通信数据流:

   通过调用不同的协议完成不同的分工,进而完成不同的计算机间的通信任务,这就是TCP/IP协议族的意义所在。从上图中就可以看出,每个层就代表了一种功能,如应用层的HTTP协议就是在应用层解析的协议,计算机中的应用只用去解析HTTP协议就可以完成通信的任务,而IP协议就是网络寻址的协议,这一部分协议就交给路由器来解析,而路由器也只需要解析IP协议就可以完成通信的任务,以此类推每个协议都自己的解析人,然后将HTTP协议最终交到应用的手里,应用解析HTTP协议再把最终的数据交给程序员的手里,程序员进行CRUD,然后就是呈现在我们面前美妙的互联网世界。

 所以你知道为什么HTTP协议那么重要了吗,作为一个程序员长打交道的就是HTTP协议,所以深刻明白HTTP协议的内在刻不容缓啊兄弟们。

HyperText Transfer Protocol,缩写:HTTP

  HTTP是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP),注意HTTP协议的底层就是通过TCP来实现的。

  HTTP工作的原理:HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

  HTTP协议是无状态,无连接的协议,即HTTP协议本身对请求响应不做记录,且每次只能处理一个请求。

HTTP协议采用TCP协议作为维持连接的协议,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,所以HTTP协议需要完成三次握手才能进行正常通信:

   那为什么要四次挥手呢?还是因为TCP协议,TCP协议的通信方式规定是基于tcp协议的双方是全双工的,也就是说通信双方都可以向对方发送消息,也都可以独立关闭自己一方的通信通道,所以TCP协议决定了HTPP协议必须完成四次挥手才能保证数据完整的传输完成。你知道了吗?

参考文章:https://blog.csdn.net/zeqi1991/article/details/81582675

猜你喜欢

转载自www.cnblogs.com/YsirSun/p/12649668.html