http与websocket的相同点和不同点

来源:互联网 发布:视频点播php源码 编辑:程序博客网 时间:2024/05/01 18:49

websocket在html5中被提出,通过查阅网上相关博客文章,总结对比了一下http和websocket的相同点和区别。先说相同点

1.都是基于TCP协议基础上,HTTP如此,websocket亦如此

2.都是需要经过request,response阶段,其中websocket在发起请求的时候其实相当于借用了http的头部格式,区别就在于websocket请求头部有一个upgrade:websocket这样的字段(当然还有其他字段,但是这个字段最为关键)。

3.如果请求失败,返回的错误编号都是相同的,例如:4**等

  再说不同点

1.正如前面所说,websocket的请求的头部会跟http请求头部有区别,比如多了一个upgrade:websocket字段

2.websocket只能是直连,不能通过代理来转发。究其原因应该怕如果通过代理转发的话,一个代理要承受如此多的websocket连接不释放,类似于一次DDOS攻击了。

3.websocket传输的数据是二进制流,是以帧为单位的,http传输的是明文传输,是字符串传输

4.websocket是全双工通信,有点类似于socket通信,在建立连接之后不必再像http那样你一个request我才回一个response了,想发就发,收发自如。

以上就是我总结的http和websocket的相同点和不同点,如果有不对的地方,欢迎指正,一起进步!

0 0