zoukankan      html  css  js  c++  java
  • 基于HTTP的功能追加协议

    1、HTTP的一些标准会成为HTTP性能上的瓶颈:

    一条连接上只可发送一个请求。

    请求只能从客户端开始,客户端不可以接收除响应以外的指令。

    请求/响应首部未经压缩就发送,首部信息越多延迟越大。

    发送冗长的手部,每次互相发送相同的首部造成的浪费较多。

    可任意选择数据压缩格式,非强制压缩发送。

    2、Ajax(Asynchronous JavaScript and XML,异步JavaScript与XML技术)是一种有效利用JavaScript和DOM(Document Object Model,文档对象模型)的操作,以达到局部Web页面替换加载的异步通信手段。由于它只更新一部分页面,响应中传输的数据量会因此而减少,这一优点显而易见。

    3、Comet的解决方法:Comet会先将响应置于挂起状态,当服务器端有内容更新时,再返回该响应。因此服务器端一旦有更新,就可以立即反馈给客户端。

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

    使用SPDY后,HTTP协议额外获得的功能:

    多路复用(通过单一的TCP连接,可以无限制处理多个HTTP请求。)

    赋予请求优先级:可以给请求逐个分配优先级顺序,这样主要是为了在发送多个请求时,解决因带宽低而导致响应变慢的问题。

    压缩HTTP首部:这样通信产生的数据包数量和发送的字节数就更少了。

    推送功能:支持服务器主动向客户端推送数据的功能。

    服务器提示功能:服务器可以主动提示客户端请求所需的资源,由于在客户端发现资源之前就可以获知资源的存在,因此在资源已缓存等情况下,可以避免发送不必要的请求。

    5、WebSocket:使用浏览器进行全双工通信。

    WebSocket是建立在HTTP基础上的协议,因此连接的发起方仍是客户端,而一旦确立WebSocket通信连接,不论服务器还是客户端,任意一方都可直接向对方发送报文。

    WebScoket协议的主要特点:

    推送功能:支持服务器想客户端推送数据的推送功能。

    减少通信量:只要建立起WebSocket连接,就希望一直保持连接状态,和HTTP相比,不但每次连接时的总开销减少,而且由于WebSocket的首部信息很小,通信量也相应减少了。

    为了实现WebSocket通信,在HTTP连接建立之后,需要完成一次“握手”(Handshaking)的步骤。

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

  • 相关阅读:
    python之字典方法
    python之字符串方法
    python strip()方法使用
    Airtest自动化测试工具介绍
    selenium 环境配置
    一个自定义线程池的小Demo
    简单工厂模式
    BootStrap入门_创建第一个例子
    MongoDB的索引
    MongoDB的查询
  • 原文地址:https://www.cnblogs.com/mingyao123/p/8296998.html
Copyright © 2011-2022 走看看