【HTTP详解】HTTP协议、TCP/IP、TCP协议究竟是什么?

本文介绍了HTTP协议,作为万维网基础的客户端-服务器模型数据传输协议,依赖于TCP/IP协议族。TCP/IP是一个包含TCP、IP等协议的协议族,采用四层分层模式,从应用层到链路层逐步处理数据。TCP协议位于传输层,提供可靠的字节流服务,通过三次握手建立连接,四次挥手关闭连接。HTTP协议运行在TCP之上,提供网络数据传输服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部分资料来源: 《图解HTTP》

HTTP是什么

HTTP(Hypertext Transfer Protocol)是一种用于在网络上传输数据的协议,它是万维网的基础。HTTP使用客户端-服务器模型,客户端向服务器发送请求,服务器返回响应。HTTP使用TCP作为其传输协议,它默认使用端口80。

TCP/IP是什么

TCP/IP是一个协议族,包含一系列的协议,如TCP、IP、UDP、ICMP等等,它们共同构成了互联网协议套件(Internet Protocol Suite)。

也有一些说法认为TCP/IP是指TCP和IP两种协议,本文对于TCP/IP的释义取自《图解Http》,并且这也是认可度比较高的解释。

TCP/IP的分层模式

TCP/IP协议族采用了分层的设计模式,从上到下将协议划分为四个层次,分别是:

  • 应用层(Application Layer):应用层是TCP/IP协议族中最高层的协议,它提供了用户接口和应用程序之间的通信服务,如我们最为熟悉的HTTP就是应用层中的、还有FTP、SMTP等协议。应用层协议是与用户直接交互的协议,它们处理特定类型的数据,并将其交给下一层协议处理。

  • 传输层(Transport Layer):传输层提供了端到端的数据传输服务,如TCP和UDP协议。传输层协议负责将数据从应用层传递到网络层,并保证数据传输的可靠性、流量控制、错误检测等功能。

  • 网络层(Network Layer):网络层主要提供了数据包在网络中的传输服务,如IP协议。网络层协议负责将数据包从源主机传递到目标主机,通过路由选择和转发等技术实现数据在不同网络之间的传输。

  • 链路层(Link Layer):链路层是指数据在物理层上的传输,如Ethernet、Wi-Fi等协议。链路层协议负责将数据从网络层传递到物理层,并通过物理层传输到接收方主机。

TCP/IP 通信数据流

在这里插入图片描述
利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往从应用层往上走。

  • 我们用HTTP举例来说明,首先作为发送端的客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求。
  • 接着,为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)
    进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  • 在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。
    而在接收端的服务器在链路层接收到数据后,按序往上层发送,一直到应用层,这样,服务器才算真正接收到客户端发送过来的HTTP请求。
    而在层与层之间传输数据时,每经过一层必定会被打上一个该层所属的首部信息,反之,接收端每通过一层都会删除对应的首部。
    在这里插入图片描述

TCP协议是什么

按层次分,TCP属于传输层,是一种面向连接、可靠的、基于字节流的传输控制协议,用于在网络中可靠地传输数据。
所谓的字节流服务是指,为了方便传输,将大块数据分割成以报文段为单位的数据表进行管理。
基于TCP协议。能够把数据可靠的传给对方

三次握手策略

为了将数据可靠的传给对方,TCP协议采用了三次握手策略。

  • 发送端首先会发送一个带SYN(synchronize)标志的数据包给对方
  • 接收端收到后,回传一个带有SYN/ACK(acknowledgement)标志的数据包以示传达确认信息
  • 最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束

四次挥手策略

四次挥手(Four-way handshake)是TCP连接的关闭过程。在TCP连接中,当双方完成数据传输后,需要通过四次挥手的方式正常关闭连接,以释放资源并避免数据丢失或重传。

四次挥手的过程如下:

  • 主动关闭方发送一个FIN报文段,请求关闭连接。
  • 被动关闭方接收到FIN报文段后,向主动关闭方发送一个ACK报文段,确认收到关闭请求。
  • 被动关闭方发送一个FIN报文段,请求关闭连接。
  • 主动关闭方接收到FIN报文段后,向被动关闭方发送一个ACK报文段,确认收到关闭请求,连接正式关闭。

通过四次挥手,双方确认对方已经完成了关闭请求,释放了连接资源,从而结束了TCP连接。

HTTP协议、TCP/IP、TCP协议之间的关系

  • HTTP协议TCP协议都属于TCP/IP协议族,HTTP属于应用层,而TCP属于传输层
  • HTTP使用TCP作为其传输协议
    关于各种协议与HTTP的关系可以用下图来表示
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值