admin管理员组

文章数量:1530022

讲浏览器和服务器之间的通信之前,先讲几个概念

一、单工、半双工、全双工的区别:

       1、单工:数据只在一个方向上传输,不能实现双方通信。(例子:电视、广播)

       2、半双工:允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输。(例子:对讲机)

       3、全双工:允许数据在两个方向上同时传输。(例子:手机通话)

二、长短连接和长短轮询的区别:        

        1、长短连接是说的TCP连接,浏览器使用的http协议是1.1之前的版本的话,那么使用的就是TCP短连接,短连接就是当浏览器发送请求之后,建立TCP三次握手,然后服务器发送数据,之后就四次挥手,这次的TCP连接就断开了。那么长连接是指浏览器发送请求后,建立TCP三次握手,然后服务器发送数据,这时候不会四次挥手,如果浏览器还要发送请求的话,那么就沿用这个TCP连接,继续向服务器发送请求,服务器继续给浏览器发送数据,直到发送数据结束之后超时,长连接就自动断开了。

         2、长短连接的优缺点:大部分情况下我们使用的是长连接,可以减少我们的TCP连接次数。

         3、长短轮询指的是http请求,短轮询就是我们客户端去服务器查询的时候,服务器立即就返回结果了。而长轮询就是服务器等待一段时间,比如处理好了数据或者数据有变化了再去返回结果给客户端。

         4、长短轮询的优缺点:短轮询客户端会一直去请求数据,如果数据没有变化的话,会造成流量浪费,并且如果大量用户去请求服务器的话,服务器要一直去处理请求,可能会服务器崩溃。长轮询虽然客户端减少了请求,但是服务器可能需要去挂载线程去监听数据变化,大量用户的话服务器还是会崩溃,所以可能使用更好的全双工通信方式。

         5、此条参考链接:HTTP协议中的短轮询、长轮询、长连接和短连接 - 张龙豪 - 博客园

本文标签: 浏览器通信服务器