zoukankan      html  css  js  c++  java
  • 推送技术 push technology

    推送技术 push technology


    百度百科里对推送技术的描述太差了,完全是google翻译。今天我自己来翻译一遍push technology


    Http server push

    Http server push是一个从web server发送数据到web browser的机制。Http server push能够通过以下几种机制来达到。

    大概说来,就是web browserweb server发起连接以后,web server不断开连接,而是继续把这个连接hold住。如果有web server这边有什么事情发生,就可以马上通过这条连接pushbrowser。如果没有这个连接,那么这些数据就进入发送队列,等待browser下一次发起request建立连接时,再pushbrowser。大多数的web server通过CGI来提供这种功能。


    Pushlet

    这种技术其实和上面的相似。Server这边将http的连接给永久化,保持不断开。也就是说当client/browser发起连接以后,这个连接就被server抓住不放了。TTP流,这种技术常常用在多媒体视频、通讯应用中,比如QuickTime。与装载HTTP页面之后马上关闭HTTP连接的做法相反,Pushlet采用HTTP流方式将新变动的数据主动地推送到client客户端),再此期间HTTP连接一直保持打开。有关如何在Java中实现这种Keep-alive长连接请参看Sun提供的《HTTP Persistent Connection》和W3C的《HTTP1.1规范》。


    Long Polling

    这是传统轮询技术的变种。在long polling中,client与普通轮询发出的请求类似。但是,区别在于,如果server目前没有有效的信息返回给client1. 传统轮询,将会返回一个empty response2. Long polling,将会hold the request(握住这个链接不放),等待直到有了有效的返回信息之后,再返回给client,同时断开链接。通常client会立即再次向server发出request,所以,server端和client端总是会有一个连接来传输数据。在AJAX中,long polling被称为Comet Programming




    参考:http://en.wikipedia.org/wiki/Push_technology


  • 相关阅读:
    WebSocket来实现即时通讯
    微信小程序1
    使用phpqrcode来生成二维码/thinkphp
    PHP函数积累
    Docker 常用命令汇总(beta)
    Nginx+Keepalived高可用架构简述(beta)
    Docker镜像制作(以Nginx+Keepalived为例)(beta)
    开源协议浅谈(beta)
    【Elasticsearch系列】ES安装(mac)
    linux 下安装JDK
  • 原文地址:https://www.cnblogs.com/hengli/p/2842079.html
Copyright © 2011-2022 走看看