HTTP协议的全称是Hypertext Transfer Protocol,超文本传输协议
超文本 :网络上的数据是多种多样的.除了文字,数字以外,还有视频,音频,图片...都是属于超文本.
传输 :客户端和服务器之间的数据传递的过程.传递的都是二进制数据.
协议 :规定客户端和服务器之间的数据传递格式.
HTTP协议是网络编程使用最为广泛的协议
HTTP协议特点
1.简单快速
因为HTTP协议简单,所以HTTP服务器的程序规模小,通信速度快
2,灵活
HTTP 协议允许传输任意类型的数据
3.HTTP 0.9和1.0使用非持续链接
限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,立刻断开连接.
每建立一次链接,只能发送一次请求,得到一次响应.
注意 :非持续链接不适合频繁的请求.
4.HTTP 1.1使用持续连接
不必为每个web对象创建一个新的连接,一个连接可以传送多个对象
每建立一次链接,发送一次请求并得到响应之后,链接不会立即断开,链接会持续保持一段时间.在这个时间内客户端如果还有请求就不需要再与服务器建立链接.
注意 :持续链接不是一直保持链接,这个链接只持续一定的时间.因为不能长时间占用服务器资源.
长连接和短连接 & 心跳包
短连接
非持续链接和持续链接都是短链接.
数据请求结束后,会断开连接
能够及时释放服务器资源
让服务器能够为更多的用户提供服务
长连接
一旦连接建立之后,始终保持连接状态,除非断网或者主动退出登录.
后续只需发送和接收数据即可,数据响应更及时
长连接对服务器资源占用比较大
对交互响应要求快的应用,例如即时通讯,需要使用长连接
心跳包
是检测长连接的重要技术手段
可以由服务器发送
定时向客户端发送小数据,根据回执判断客户端是否在线
也可以由客户端发送
定时向服务器发送小数据,报告客户端当前在线
网友评论