http的长连接和短连接

来源:互联网 发布:国产网络腐剧 编辑:程序博客网 时间:2024/05/21 21:36
http协议和TCP/IP协议的关系:
     HTTP的长连接和短连接实际上就是TCP的长连接和短连接。HTTP属于应用层的协议,传输层使用TCP协议,网络层使用IP协议。

IP协议的特点:
     IP协议主要解决网络路由和寻址的问题。

TCP协议的特点:
     TCP保证数据可靠到达,不会出现丢包问题,并且接收端收到的所有包和发送端发出的所有包顺序一致,TCP具有可靠性和面向连接的特性。

HTTP协议是无状态的:
     无状态的意思是,协议对事务的处理是没有记忆能力的,也就是说比如你打开一个网页,你现在又打开另外一个网页,这两个网页之间没有任何的联系。

短连接:
     建立连接,在处理完请求后服务器自动断开连接

长连接:
     (1)使用长连接,具有保持连接的特性,一个网页打开完成了以后,客户端和服务器之间的TCP连接不会关闭,如果客户端再次访问这个网页,那么继续使用这一条已经建立的连接。
     (2)HTTP/1.1支持长连接,支持长连接需要在响应头中加入:Connection:keep-alive。keep-alive不会永久保持连接,他有一个保持时间。
     (3)支持长连接必须要求客户端和服务器都支持长连接。

TCP的三次握手和四次挥手的状态图

短连接的优点:
     管理起来比较简单,存在的连接都是有效的连接,不需要额外的控制手段。

短连接的缺点:
     如果频繁的客户请求,那么短连接就会不断的建立连接和释放连接,造成资源的浪费。
     
长连接的优点:
     长连接省去了较多的TCP连接和释放,减少了浪费,节约了时间。

长连接的缺点:
     如果连接一直占用不释放,那么如果客户增多并建立连接的话,那么服务器将会受损。

长连接和短连接的使用场景:
     (1)比如一个web服务器,当然是使用短连接了,因为一个web服务器都是亿级别的访问量,服务器不可能对所有的用户都进行长连接,短连接会更加节省资源。
     (2)比如像数据库,用的就是长连接,频繁的短连接通信会造成socket错误。







原创粉丝点击