websocket vs http vs spdy

时间:2016-01-30 13:34:08

标签: http websocket spdy

我对网络开发很陌生。我已经阅读了有关Web数据交换的不同方法。目前我发现人们通常为web发明了三种协议: http websocket spdy 。而现在我被卡住了。如果我有选择实现自己的应用程序 - 使用哪种协议?据说 http 与其他人相比非常古老而且速度慢。从另一方面来说,我在互联网上找不到很多带有 websocket spdy 的例子。

1 个答案:

答案 0 :(得分:2)

现代浏览器中的所有请求均以HTTP / 1.1

开头

HTTP / 1.1是现代网络的事实标准。为了实现广泛的浏览器支持,您的应用程序必须支持HTTP / 1.1。

SPDY,HTTP / 2和WebSockets是大多数现代浏览器支持的协议。使用这些协议的请求最初是HTTP / 1.1请求,如果浏览器和服务器都支持协议,则会升级。

大多数情况下,这些协议的实际实现都留给了Web服务器,例如Apache或NGINX。首先,确定您要用什么语言编写应用程序。接下来,研究如何配置要与您的语言一起使用的Web服务器。

HTTP / 1.1,SPDY和HTTP / 2用于加载资源

当您在浏览器中访问某个页面时,它将通过HTTP下载。页面引用的任何脚本,样式表,图像等也通过HTTP加载。

如果您希望从加载页面的更快协议中受益,请研究如何为您的Web服务器启用HTTP / 2。 HTTP / 2基于SPDY并经标准委员会批准。最新版本的Apache和NGINX支持它,但要求通过SSL / TLS提供网站。

Web套接字由脚本启动

加载应用程序后,页面上的脚本可以启动Web Socket连接。只要页面打开,此连接将保持打开状态,以便在浏览器和服务器之间执行实时通信。

您通常只在单页面应用程序(SPA)中使用Web套接字。如果您正在为您的前端使用Javascript Framework(如AngularJS或React),请研究如何通过框架实现Web套接字。您还需要在服务器上配置Web套接字处理程序,并且可能需要在Web服务器上配置Web套接字代理。