基于HTTP的功能追加协议

这里有一份简洁的前端知识体系等待你查收,看看吧,会有惊喜哦~若是以为不错,恳求star哈~前端


HTTP性能瓶颈

HTTP的一些标准会成为HTTP性能上的瓶颈,好比:git

  • 一条链接上只可发送一个请求。
  • 请求只能从客户端开始,客户端不能够接收除响应之外的指令。
  • 请求/响应首部未经压缩就发送,首部信息越多延迟越大。
  • 发送冗长的首部,每次互相发送相同的首部形成的浪费较多。
  • 可任意选择数据压缩格式,非强制压缩发送。

为了应对HTTP的性能瓶颈,出现了基于HTTP的功能追加协议。github

Ajax

Ajax(Asynchronous JavaScript and XML,异步JavaScript与XML技术)是一种有效利用JavaScript和DOM(Document Object Model,文档对象模型)的操做,以达到局部Web页面替换加载的异步通讯手段。因为它只更新一部分页面,响应中传输的数据量会所以而减小,这一优势显而易见。浏览器

Comet的解决方法

Comet会先将响应置于挂起状态,当服务器端有内容更新时,再返回该响应。所以服务器端一旦有更新,就能够当即反馈给客户端。缓存

SPDY

Google在2010年发布,其开发目标旨在解决HTTP的性能瓶颈,缩短Web页面的加载时间。SPDY没有彻底改写HTTP协议,而是在TCP/IP的应用层与运输层之间经过新加会话层的形式运做。同时考虑到安全性问题,SPDY规定通讯中使用SSL。安全

使用SPDY后,HTTP协议额外得到的功能:服务器

  • 多路复用(经过单一的TCP链接,能够无限制处理多个HTTP请求。)
  • 赋予请求优先级:能够给请求逐个分配优先级顺序,这样主要是为了在发送多个请求时,解决因带宽低而致使响应变慢的问题。
  • 压缩HTTP首部:这样通讯产生的数据包数量和发送的字节数就更少了。
  • 推送功能:支持服务器主动向客户端推送数据的功能。
  • 服务器提示功能:服务器能够主动提示客户端请求所需的资源,因为在客户端发现资源以前就能够获知资源的存在,所以在资源已缓存等状况下,能够避免发送没必要要的请求。

WebSocket

使用浏览器进行全双工通讯。异步

WebSocket是创建在HTTP基础上的协议,所以链接的发起方还是客户端,而一旦确立WebSocket通讯链接,不论服务器仍是客户端,任意一方均可直接向对方发送报文。分布式

WebScoket协议的主要特色:性能

  • 推送功能:支持服务器想客户端推送数据的推送功能。
  • 减小通讯量:只要创建起WebSocket链接,就但愿一直保持链接状态,和HTTP相比,不但每次链接时的总开销减小,并且因为WebSocket的首部信息很小,通讯量也相应减小了。

为了实现WebSocket通讯,在HTTP链接创建以后,须要完成一次“握手”(Handshaking)的步骤。

WebDAV

WebDAV(Web-based Distributed Authoring and Versioning,基于万维网的分布式创做和版本控制)是一个可对Web服务器上的内容直接进行文件复制、编辑等操做的分布式文件系统,它还具有文件建立者管理、文件编辑过程当中禁止其余用户内容覆盖的加锁功能,以及对文件内容修改的版本控制功能。

相关文章
相关标签/搜索