http协议的底层实现

1.http协议: 超文本传输协议,可以传递各种类型的文件,是使用最广泛的协议模式, 是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用
2.http协议的底层是在应用层里,是一个特殊处理的socket,建立在TCP/IP协议之上的一种广泛应用
2.1.服务器先初始化一个socket,与端口绑定,对端口进行监听,调用阻塞,等待客户端的连接
2.2.初始化客户端的socket,与服务器的socket连接,需要经过三次握手
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手 

2.3.客户端向服务器发送数据请求.景行链接

很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

2.4.服务器将数据返回给客户端,客户端读取数据,显示在界面上
2.5.客户端断开连接需要经过四次握手断开连接
第一次:客户端向服务器发送一个带有结束标记的报文
第二次:服务器接到报文后,向客户端发送一个确认号,同时通知自己相应的应用程序,对方要求断开连接
第三次:服务器向客户端发送结束标记的报文
第四次:客户端接收到报文后向服务器发送确认序号,断开连接
3.http协议的模式:请求-响应模式
3.1. 相应时,有响应头,相应行和相应体(实体内容)
3.2. 请求时,存在请求头,请求行和请求体
4.http协议是一个短连接模式: 一次连接服务器只处理一个请求,请求数据结束后就会断开
5. http洗衣存在两种方法,及post和get请求,使用get请求时,参数就直接附加在URL后,大小有限制且只能是字符串,而post请求存在请求体里面,有足够大的控件存储内容
TCP和UDP的区别

1、TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议。

2、也正由于1所说的特点,使得UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值