`
menuhin
  • 浏览: 26246 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论
阅读更多
PubSubHubbub是一个“开放的、服务器对服务器、基于Web-hook的发布/订阅协议,是Atom和RSS的扩展”。凭借该协议,感兴趣的参与者在feed有更新时会收到即时通知。该协议由Google开发,在Google Code中可以找到同名的项目。

PubSubHubbub协议将“拉”机制转变成了“推”机制,客户端不用再定时轮询服务器以查看feed是否有更新。客户端订阅一个Hub,当feed有更新时Hub会即时通知客户端。项目主页上描述的处理过程如下:

feed URL(“主题”)在Atom或RSS的XML文件中使用<link rel="hub" ...>描述自己的Hub服务。Hub可以由feed的发布者运行,也可以作为任何人都能使用的公有Hub。(它支持Atom和RssFeeds)
订阅者(对主题感兴趣的服务器)最初仍照常提取Atom URL。如果Atom文件声明了其Hub,订阅者就不用轮询URL了,而是注册feed的Hub并订阅更新。
订阅者从主题URL声明的Hub中订阅主题URL。
发布者下次更新主题URL时,发布者软件会给Hub发送信息,告知Hub有更新了。
Hub高效地提取发布的feed,并向所有注册的订阅者组播新增或修改了的内容。

Google已经在他们的几个服务中实现了该协议,包括FeedBurner、Reader(共享条目)、Blogger,还有不久前推出的Alerts。该协议是开放的,遵循Apache License 2.0许可。此外,Hub可以在任何服务器上运行而并非限制在Google App Engine上。

Google已经发布了一个Hub的参考实现,可用来测试发布/订阅过程以了解其工作方式。这个视频演示了一个实际使用该协议的例子。
分享到:
评论

相关推荐

    pubsubhubbub4r:Ruby 的简单 pubsubhubbub 客户端库。 API 对 Rails 友好,不依赖

    pubsubhubbub4r 待办事项:写一个宝石描述 安装 将此行添加到应用程序的 Gemfile 中: gem 'pubsubhubbub4r' 然后执行: $ bundle 或者自己安装: $ gem install pubsubhubbub4r 用法 TODO:在这里写使用...

    wordpress-pubsubhubbub:适用于WordPress的WebSubPubSubHubbub

    WebSub / PubSubHubbub 贡献者: , 捐赠链接: : 标签: webhooks,websub,puhsubhubbub,pubsub,ping,push,indieweb,openweb,ostatus 至少需要: 4.5 经过测试: 5.6 稳定标签: 3.0.3 一种更好的方式来告诉...

    php-pubsubhubbub:一个用于 pubsubhubbub 的简单 PHP 客户端库,基于 Josh Fraser 的工作

    $ hub_url = "http://pubsubhubbub.appspot.com" ; $ topic_url = "http://notizblog.org/feed/" ; $ p = new PshbPublisher ( $ hub_url ); if ( $ p -&gt; publish_update ( $ topic_url )) { echo "$topic_url ...

    appengine-subscriber:Google AppEngine 的 PubSubHubbub 订阅者示例

    这是一个 Google AppEngine 应用程序,用于处理 PubSubHubbub 协议的订阅端。 为了部署这个应用程序,在 AppEngine 上创建一个新的应用程序并像这样部署: $ appcfg.py update . -A s~your-app-id08:01 PM ...

    pubsubsuperfeedr:简单的Python库可与Superfeedr的pubsubhubbub接口交互

    pubsubsuperfeedr 一个简单的库,旨在简化从Superfeedr的PubSubHubbub API中添加和删除供稿的过程。 包括对hub.secret的支持。学分由开发和使用,并根据MIT许可发布。 提供了部分代码的灵感。 谢谢哈珀!用法示例...

    appengine-publisher:Google AppEngine 的 PubSubHubbub 发布者示例

    这是一个 Google AppEngine 应用程序,它发布一个 Atom 提要,并在向 PubSubHubbub 中心添加项目时对其进行 ping 操作。 为了部署这个应用程序,在 AppEngine 上创建一个新的应用程序并像这样部署: $ appcfg.py ...

    django-hubbubs:Django 项目的 PubSubHubbub 订阅者应用程序

    `django-hubbubs` 是一个专为 Django 项目设计的 PubSubHubbub (简称 PuSH) 订阅者应用程序。PubSubHubbub 是一种实时内容发布和订阅协议,它允许Web服务提供者(Publishers)在内容更新时立即通知订阅者...

    perl-publisher:Perl 的 PubSubHubbub 发布者模块

    Perl-publisher 是一个 Perl 语言编写的模块,专门用于实现 PubSubHubbub(简称 PuSH)协议的发布者(publisher)部分。PuSH 是一种实时的、基于 HTTP 的发布/订阅(publish/subscribe)协议,它使得内容的发布者...

    laminas-feed:消费并生成Atom和RSS feed,并与Pubsubhubbub进行交互

    薄片饲料 Laminas\Feed提供了使用RSS和Atom提要的功能。 它为访问提要,提要属性和条目属性的元素提供了自然的语法。 Laminas\Feed还广泛支持以相同的自然语法修改提要和条目结构,并将结果转换为XML。...

    node_pubhubsubbub_pushserver:与PubSubHubbub协议兼容的Node.js推送通知服务器

    WebSub推送服务器 与WebSub协议兼容的Node.js推送通知服务器。 希望从WebSub Publisher( Publisher )接收推送通知的移动应用程序( App )可以在此Push Server( Server )中注册自己。 Server将代表App向...

    push-bot:PubSubHubbub 到 XMPP 网关

    PuSH Bot 允许您通过 XMPP 接收支持 (通常缩写为 PuSH)的提要的更新通知。 这意味着您可以从 Blogger、TypePad、Movable Type 和 LiveJournal 博客、任何 FeedBurner 提要以及 Google Talk 或任何其他 Jabber/XMPP...

    分布式环境搭建.pdf

    数据流可分为即时调用数据流(如基于RMI、Hessian、ICE、JNDI等远程调用框架)、异步消息数据流(依赖消息中间件如Kafka、RabbitMQ等)、存储数据流(涉及...PubSubHubBub进行配置推送)和监控数据流(日志和控制系统)...

    阿里巴巴B2B前端面试经验[借鉴].pdf

    - 行业知识:面试者被要求列举近期的Web新鲜事,如Google Wave和PubSubHubbub,体现出对行业动态的关注。 - 非技术问题:面试官也会询问个人生活情况,如性格、人际关系等,以了解应聘者的团队适应性。 从这次...

    崔克俊:大规模进行RSS聚合和网站下载在科学研究中的初步应用

    他提到的关键技术包括Drupal、Apache Solr、PubSubHubbub、opensearchfeed和Yahoopipes等。这些技术对于实现大规模的RSS聚合和网站下载具有重要作用。 在报告中,崔克俊还提到了整站下载的概念。整站下载是指从网站...

    rss 阅读器

    这可以通过定时任务实现,或者利用服务器推送(如PubSubHubbub协议)来实时更新。 4. **用户界面**:用户界面设计是关键,需要提供清晰的布局,展示订阅的feed列表,以及每个feed中的条目。界面应支持搜索、分类、...

    优秀的开源Web开发资源

    PubSubHubbub协议则是一种简单、开放的服务器到服务器的pubsub(发布/订阅)协议。 在数据库方面,Apache CouchDB是一个面向文档的数据库管理系统,支持RESTful API接口,操作数据时以JSON格式存储,支持通过视图来...

    wordpress-ostatus:WordPress的OStatus插件

    状态贡献者: , 标签: ... 兼容性: GNU社交Mastodon 朋友插件要求: WebSub/PubSubHubbub PubSubHubbub -plugin: ://wordpress.org/plugins/pubsubhubbub/ host-meta插件: ://wordpress.org/plugins/host-meta/ We

Global site tag (gtag.js) - Google Analytics