HTTP和TCP的区别和联系

谈到几次面试,都问了http和tcp协议的相关知识,所以总结一下!!!

一、基本概念

1、手机能够使用联网功能是因为底层实现了TCP/IP协议

       建立一个TCP连接需要经过"三次握手"

     第一次握手:客户端发送sync(syn=j)包到服务器,并进入syn_send状态,等待服务器确认

     第二次握手:服务器收到sync包,必须确认客户的syn(ack=j+1),同时自己发送一个syn包(syn=k),即SYN+ACK包,此时服务器进入syn_recv状态

    第三次握手:客户端收到服务器的syn+ack包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入established状态,完成三次握手。

 握手过程中传送的不包含数据,三次握手完毕后,客户端和服务器开始传输数据,TCP连接一旦建立,在通信双方中任何一方主动关闭连接之前,TCP连接都将一直保持下去,断开连接时服务器和客户端都可以主动发起断开TCP连接的请求,断开过程中需要经过4次握手。

 

2、HTTP连接

HTTP协议是超文本传送协议,是web联网的基础,也是手机联网常用的协议之一。

HTTP协议是建立在TCP协议之上的一种应用

HTTP连接最显著的特点就是客户端发送的每次请求都需要服务器返回响应,在请求结束后,会主动释放连接,从建立连接到关闭连接的过程称为"一次连接"

1> 在http 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本地请求后,就会自动释放连接

2>在HTTP1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送另一个请求。

由于http在每次请求结束后都会主动释放连接,因此http连接是一种"短连接",要保持客户端程序的在线状态,需要不断的向服务器发送连接请求,通常的做法是,客户端保持每隔一段固定的时间向服务器发送一次"保持连接"的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端在线。若服务器长时间无法收到客户端的请求,则认为客户端下线。若客户端长时间收不到服务器的回复,则任务网络已经断开。

 

 

二、相互关系

1、TCP是底层通讯协议,定义的是数据传输和连接方式的规范

2、HTTP是应用层协议,定义的是传输数据的内容和规范

3、HTTP协议中的数据利用的TCP协议传输,所以支持HTTP也就支持TCP

4、HTTP支持的是www服务

5、从传输层。TCP三次连接,请求、确认、建立连接

     从数据应用来说,C发送http请求给S,S收到后返回C响应,C的中间件或者浏览器吧数据渲染成网页展示

 

摘自https://www.cnblogs.com/baizhanshi/p/8482612.html

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值