1、http协议与tcp/ip协议的关系
http的长连接和短连接实质上是tcp长连接和短连接。http是应用层协议,在传输层使用tcp层,在 络层使用ip协议。ip协议主要解决 络路由和寻址问题,tcp协议主要解决如何在ip层之上可靠的传递数据,使得 络上接收端收到发送端所发出的所有包,并且顺序发送顺序一致。tcp协议是可靠的、面向连接的。
2、如何理解http协议是无状态的/h2>
指的是协议对于事务处理没有任何记忆能力,服务器不知道客户端是什么状态。也就是说,打开一个服务器上的 页和上一次打开这个服务器上的 页之间没有任何联系。http是一个无状态的面向连接的协议,无状态不代表http不能保持tcp连接,更不能代表http使用的是udp协议(无连接)。
3、什么是长连接、短连接
在http/1.0中默认使用的是短连接,也就是说,客户端和服务端每进行一次http操作,就建立一次连接,任务结束就会中断连接。当客户端浏览器访问的某个html或其他类型的web页中包含有其他的web资源,每遇到这样的一个web资源,浏览器就会重新建立一个http会话。
在http/1.1起,默认使用长连接,用以保持连接特性。使用长连接的http协议,会在响应头中加入这行代码:
Connection:keep-alive
长连接就是:当一个 页打开完成之后,客户端和服务端之间用于传输http数据的tcp连接不会关闭,客户端再次访问这个服务端时,会继续使用这一条已经建立的连接。keep-alive不会永久保持连接,它有一个保持时间,可以在不同的服务端软件中设定这个时间。实现长连接需要客户端和服务端都支持长连接。
4、长连接短连接操作过程
长连接:
建立连接—数据传输…(保持连接)…数据传输—关闭连接
短连接:
建立连接—数据传输–关闭连接…建立连接—数据传输–关闭连接
5、什么时候用长连接,短连接
长连接:操作频繁,点对点通讯,而且连接数不能太多。例如数据库的连接。
短连接:web 站的http服务一般都用短连接,避免使用长连接,存在并发量大的问题。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!