javascript - http是基于tcp/ip的,那么它也是可以具有和服务器双向通信的能力的。我们为什么不升级http,搞个http x.1
ringa_lee
ringa_lee 2017-04-10 16:00:55
0
2
781

直接评论就好了,你说的对,这个问题没价值,我会删掉,不用踩,没用,无益于我,无益于你,只是无聊。

为什么不升级http而要有websocket
如题,是我什么地方想错了吗?
就可行性,可不可以这样呢。

ringa_lee
ringa_lee

ringa_lee

모든 응답(2)
黄舟

简单来说,不可行。http是给web服务使用的协议,而web服务什么最重要?当然是并发数了。如果采用tcp那样的有状态协议,只要一个用户开着浏览器,那么他与服务器的http连接就不会被切断。但是一个服务器能够同时开启的连接数是有限制的,这样的话这个网站就变成专门为这几百个人服务的了,即使靠增加服务器的方法,每增加一台服务器也就增加几百人而已。试想在这种情况下,googletwitter这些每秒访问量达到几百万上千万级别的网站怎么办?或者说一个接地气的例子,每当长假或年底的时候,每个人应该都很清楚12306是什么样一种蛋疼的状况吧?这种情况又该怎么办?

Websocket确实是有状态的,和TCP很像,但它的出现不是为了取代http,是为了当确实需要在网页中实现有状态连接时(例如网游)可以使用的一种辅助技术。


不明白为什么会被踩,如果我说的不对,请给我留言讨论

PHPzhong

现在有很多应用确实在渐渐的使用长连接,这个长链接有的支持双向通讯,比如QQ微信,有的部分支持,比如Google的spdy协议,以及在spdy协议基础上提出的http2.0协议。
Google早就已经把自己旗下的服务升级到能支持http2和spdy,你用新版的chrome访问就能看到相应的标志。
再来说说spdy,使用长链接,多个请求能共用同一个连接,还支持服务端推送技术。

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿