Dwa*_*ton 7 javascript network-protocols websocket
在Web世界中,Web浏览器对它必须检索的每个静态文件发出新请求,因此; 样式表,javascript文件,内嵌图像 - 全部启动新的服务器请求.虽然我对网络的了解非常好,但像websockets这样的基础技术在我们的工作方式和能力方面对我来说有点新鲜.
我的问题是理论上的,但我想知道现在是否可能通过websocket提供静态文件?考虑到websockets是从客户端(Web浏览器)到服务器的持久连接,因此可以使用websockets来提供一些(如果不是全部)静态内容,因为它只是一个连接而不是许多连接.
澄清一点点.
我意识到我的关于连接的措辞不正确,正如Greg在下面指出的那样.但据我所知,CDN创建并且至今仍在使用的原因是解决浏览器和/或服务器对并发下载数量有严格限制的问题,一旦达到该限制,您的请求就会排队,从而增加了页面加载时间.我知道它们也是为了提供无cookie请求而创建的.所以我的问题应该是:"可以使用websockets代替CDN吗?"
BrowserScope有一些有用的指标,对于大多数现代浏览器甚至IE8而言,似乎请求限制大约为每个主机名6个.但正如我所说,有时人们有超过6个资源,这是否意味着他们正在排队并减慢页面加载时间,其中websockets可能会将此减少到一个?
这肯定是可能的,但有几个原因可能你不想将它用于静态资源:
如果您的页面部分使用静态资源动态更新(例如,将新图像加载到HTML5画布游戏中),那么WebSockets可能是您的最佳选择,因为已建立的WebSocket连接将具有低延迟和开销以获得推送更新从服务器然后通过HTTP传递这些.但是,当您首次加载页面时,我不建议使用WebSockets作为初始静态资源.