HTTP协议与TCP、IP协议

前提是你 提交于 2019-12-01 10:09:27

1、IP(Internet Protocol):负责将数据包送达目的主机

互联网中不同的在线设备都有唯一的地址,类似于家庭收件地址;你只需知道一个家庭的具体地址,就可以往这个地址发送包裹,这样物流系统就能把物品送到目的地;

计算机的地址称为IP地址,访问任何网站实际上只是你的计算机向另外一台计算机请求信息

简化的IP网络三层传输模型

 

         简化的IP网络三层传输模型

IP是底层协议,只负责将数据包发送到对方主机,但是对方主机并不知道将数据包交个哪个应用程序,是交给浏览器还是交给王者荣耀?

2、TCP:把数据完整地送达应用程序(基于IP之上能和应用打交道的协议)

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

 

 完整的TCP连接过程:以了解TCP是如何保证重传机制和数据包的排序功能

从下图可看出,一个完整的TCP连接的生命周期包括“建立连接”、“传输数据”和“断开连接”三个阶段

 

  • 建立连接。此阶段通过“三次握手”来建立客户端和服务器之间的连接。TCP提供面向连接的通信传输。面向连接指的是在数据通信开始之前先做好两端之间的准备工作。所谓三次握手,是指在建立一个TCP连接时,客户端和服务器总共要发送三个数据包以确认连接的建立
  • 传输数据。此阶段,接收端需要对每个数据包进行确认。也就是说当接收端收到数据包之后,需要向发送端发送确认数据包。所以当发送端发送一个数据包之后,在规定时间内没有接收到接收端的确认消息,则判断为数据包丢失,并触发发送端的重传机制。另外,一个大的文件在传输过程中会被拆分为很多小的数据包,这些数据包到达接收端之后,接收端会按照TCP头中的序号为其排序,从而保证组成完整的数据。
  • 断开连接。数据传输完毕之后,通过“四次挥手”来保证双方都能断开连接

3、HTTP协议:基于TCP之上的应用层协议,为操作系统和应用程序提供网络服务

请求方要发送的数据包,在应用层加上HTTP头以后会交给传输层的TCP协议处理,应答方接收到的数据包,在传输层拆掉TCP头以后交给应用层的HTTP协议处理。建立 TCP 连接后会顺序收发数据,请求方和应答方都必须依据 HTTP 规范构建和解析HTTP报文。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!