TCP协议与HTTP协议的区别

TCP

按层次分,TCP处于传输层,提供可靠的字节流服务。

字节流服务(Byte Stream Service):为了方便运输,将大块数据分割成报文段(segment)为单位的数据包进行管理。可靠的传输服务是指能够把数据准确可靠地传给对方。

TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达给对方。

确认数据能够到达目标

为了准确无误地将数据送到到目的地,TCP采用了三次握手(three-way handshaking)策略。用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag)---SYN(synchronize)和ACK(acknowledgement)。

发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达准确信息。最后,发送端再回传一个带ACK标志的数据包,代表握手结束。

若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。

除了上述三次握手,TCP协议还有其他手段来保证通信的可靠性。

HTTP

HTTP协议用于客户端和服务端之间的通信。HTTP协议能够明确区分哪端是客户端,哪端是服务端。

HTTP协议规定,请求从客户端发出,最后服务端响应应该请求并返回。换句话说,肯定先从客户端开始建立通信,服务端在没有接收到请求之前是不会发送响应的。

HTTP是不保存状态的协议,即无状态协议。也就是说HTTP协议对于发送过的请求或响应都不做持久化处理。每当有新的请求发送时,就会有新的响应产生。

二者区别:

http协议是应用层协议,主要是解决如何包装数据。而tcp协议是传输层协议,主要解决数据如何在网络中传输。

通俗点说,http的任务是与服务器交换信息,它不管怎么连到服务器和保证数据正确的事情。而tcp的任务是保证连接的可靠,它只管连接,它不管连接后要传什么数据。

http协议是建立在tcp之上的,http是无状态的短链接,而tcp是有状态的长链接。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值