HTTP协议的弊端总结有如下几点:
1、HTTP协议的为半双工协议,半双工协议指数据可以在客户端和服务端两个方向上传输,但是不能同时进行传输,它意味着在同一时刻,只有一个方向上的数据传输;
2、HTTP消息冗长而繁琐。HTTP消息包含消息头、消息体、换行符等,通常情况下采用文本方式传输,相比于其他的二进制通信协议,冗长而繁琐;
3、针对服务器推送的黑客攻击,例如长时间轮训。
现在,很多网站为了实现消息推送,所用的技术就是轮询。轮询就是在特定的时间间隔(如:1s),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户浏览器,这种传统的模式具有很明显的缺点,即浏览器需要不断地向服务器发出请求,然而HTTP request的header是非常冗长的,里面包含的可用数据比例可能非常低,这样会占用很多的宽带和服务器资源。
比较新的一种轮询技术是Comet,使用了Ajax、这种技术虽然可以达到双向通信,但是依然需要发出请求,而且在Comet中,普通采用了长连接,这也会大量消耗服务器宽带和资源。