http1.0与http1.1和http2.0区别

http 1.0是短连接(connection:closed)、无状态的;http 1.1是支持长链接的(connection:keep-alive),但是对于客户端的多次并行请求,服务器只能顺序返回,而不能并行响应;http 2.0是支持二进制分祯的,解决了不能向客户端并行发送响应数据的问题,而且服务器可以主动向客户端推数据;

**短连接:**指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送

长连接:指在一个连接上可以连续发送多个数据包。多用于操作频繁,点对点的通讯,而且连接数不能太多情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是短连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。

而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。

长链接适用场景:适用于需要实时交互、‌频繁数据传输以及‌分布式系统中的服务通信,消息推送、物联网应用等场景