在TCP传输过程中,分为长连接和短连接。其中:
长连接是指当三次握手完成后,传输一次数据,但是不断开连接,可以一直进行数据传输。
HTTP1.1默认使用长连接。
短连接是指当三次握手完成后,传输一次数据,就四次挥手,断开连接;之后需要继续传输时,又要三次握手。
HTTP1.0默认使用短连接。
通过keep-alive的值可以设定是长连接还是短连接。
以PHP程序的生命周期为例:
短连接是指一个请求request—》一个回应response结束。
而对长连接来说,可以有多个请求request和多个响应response,当然一个request对应一个response。
长连接相对于短连接的优缺点:
可以减少浪费,加快响应速度,但是连接不断开就说明要保持,当有大量的连接没有断开,服务器就会有很大的压力。
websocket:是基于TCP的一种新的网络协议,与HTTP不同,websocket是全双工的,支持服务器和客户端之间双向的发送信息。而且websocket是一种长连接,可以实现持久连接。JavaScript和PHP之间建立一种长连接。具体代码还没试。