什么是Real-Time Web

简介: “Real-Time Web”应该算一个新的流行词,我不知道应该如何翻译,“实时网络”,虽然已有这样的称呼,好像不太贴切,并且和已有的实时网络概念有些混淆。所以暂时还是保持它原来的样子吧。     一、Real-Time web的定义     在维基百科(Real-time web)上是这样...

“Real-Time Web”应该算一个新的流行词,我不知道应该如何翻译,“实时网络”,虽然已有这样的称呼,好像不太贴切,并且和已有的实时网络概念有些混淆。所以暂时还是保持它原来的样子吧。

    一、Real-Time web的定义

    在维基百科(Real-time web)上是这样定义的:

    “The real-time web is a set of technologies and practices which enable users to receive information as soon as it is published by its authors, rather than requiring that they or their software check a source periodically for updates.

     这里把Real-Time web定义为一个技术和实践的集合;它与传统web的不同点在于可以让用户更及时地获取“作者”的更新。

     在此之前,比较类似的技术应该是RSS。RSS Reader会定时从用户订阅的地址上抓取内容,并不是太及时。

    二、Real-Time web的代表

    Real-Time web的典型代表主要有Twitter、Facebook和Google。

    当在Twitter进行搜索时,我们可以看到结果会持续不断的更新。有人做过测试,从发布到结果出现几乎是同时的。而Facebook的friend feeds更新也提供了同样的用户体验。

    提到互联网的先进技术,就不能不说Google。Google虽然没有赶上Twitter和Facebook的早班车,但是在2009年12月份宣布将实时搜索(Real-time search)引入到Google搜索中。

     在我看来对于同一网站的实现Real-Time web的体验并不困难(也许这句话会招来口水),毕竟数据都在自己的控制中。但是对于Google来讲如果能够从这么庞杂的网络中实时抓取信息,并且作为搜索结果准确地返回给用户,的确应该是一个不小的挑战。

   三、实现Real-Time web的技术

   作为一个程序员,当看到一个新东西时,最先关注的可能还是如何去做,也就是背后的技术。

   1、传统的Ajax Pull

   Ajax为页面的局部刷新提供了可能,因此最容易想到的就是Ajax Pull技术了。大概的实现是每隔一段时间使用Ajax进行一次请求,页面上的JavaScript根据返回的结果进行相应的处理。

   2、Comet

   Comet的实现方法主要有隐藏Iframe技术和Long Polling。隐藏IFrame技术是指利用一个一直打开的不可见的IFrame维持一个和服务器间的持续链接,从而获得较快更新页面的体验。Long Polling技术是一种把页面定时请求和服务器端Push相结合的技术。页面上的Ajax启动一个请求,服务器收到该请求后,并不会立即响应,而是等待一段时间。在这段时间内容,如果服务器有内容更新就会向客户端返回更新的内容;如果没有更新,就会返回超时响应。

   3、 服务器端的Push技术

   这应该是一种最理想的技术。页面一次请求后,只需等待服务器不断的返回更新的内容。HTTP1.1已经支持客户端和服务器之间的长连接,而HTML5.0的Web Socket也已经在考虑实现。

   4、PubSub

   这是一种广播订阅机制。相对于频繁的客户端请求,作者不断的向订阅者发布更新的内容会有更好的用户体验。前不久Google发布一个PubSubHubHub的项目,支持Real-Time Web的广播订阅机制。  如今已经有MySpace、Facebook、Google Reader等在使用PubSubHubHub。

 

   Real-Time Web正慢慢地变为除IM、Email以外另外一种通信方式,并且用户群正在不断的扩大。而这里,我也是说的杂乱无章,感觉很多东西要说,却不知从何说起,欢迎大家拍砖讨论!

 

   参考文章:

 

  

目录
相关文章
|
自然语言处理 异构计算
ICLR 2024 Poster:精确且高效的大语言模型低比特量化方法 QLLM
【2月更文挑战第24天】ICLR 2024 Poster:精确且高效的大语言模型低比特量化方法 QLLM
480 3
ICLR 2024 Poster:精确且高效的大语言模型低比特量化方法 QLLM
|
Java 前端开发
如何生成pem密钥
本帖是介绍使用支付宝提供的一键生成密钥工具和OpenSSL工具生成pem格式密钥,仅供参考!! 可参看开放平台文档链接实现:[url]https://docs.open.alipay.com/291/106097[/url] 1.直接使用支付宝提供的一键生成工具生成; 2.使用OpenSSL工具生成。
5344 0
|
存储 安全 算法
代码混淆和加固,保障应用程序的安全性
代码混淆是将源代码进行加密和优化,使得反编译者难以理解和还原源代码的过程。通过替换变量名、类名等信息为无意义的字符,代码混淆使得反编译后的代码难以理解和维护,从而提高了应用程序的安全性。 代码加固是对已经混淆的代码进行二次保护,防止破解者通过静态或动态分析手段获取到关键算法和逻辑。代码加固可以添加额外的安全层,包括加密、反调试、反动态调试、反内存dump等,从而增强应用程序的抗攻击能力,以IPA Guard为例,。
|
开发工具 开发者
使用阿里云的 OpenAPI SDK 时经常遇到调用失败的问题
使用阿里云的 OpenAPI SDK 时经常遇到调用失败的问题
509 1
|
JSON 数据格式
postman 实用教程(含带 token 访问需登录权限的接口、测试文件上传接口、测试文件下载接口)
postman 实用教程(含带 token 访问需登录权限的接口、测试文件上传接口、测试文件下载接口)
5546 0
|
UED
【亮剑】无线AP在中小型和大型网络环境中的两种组网方式——分布式和集中式。
【4月更文挑战第30天】本文探讨了无线AP在中小型和大型网络环境中的两种组网方式——分布式和集中式。分布式组网适合中小型网络,成本低、部署简单,但管理复杂性和漫游体验有限。案例显示,分布式组网能满足小公司基本需求。而在大型网络中,集中式组网提供统一管理、无缝漫游和高稳定性,但初期投资大、维护复杂。大型购物中心采用集中式组网,实现了全面覆盖和客户体验提升。企业应根据需求和预算选择合适组网策略。
549 1
|
JSON 小程序 安全
【经验分享】如何实现小程序日历范围选择功能
【经验分享】如何实现小程序日历范围选择功能
830 13
|
敏捷开发 开发框架 架构师
敏捷开发发展和优缺点 1
敏捷开发发展和优缺点
564 0
|
运维 安全 物联网
带你读《网络安全等级保护2.0定级测评实施与运维》——1.2 等保 2.0 时代的主要变化
带你读《网络安全等级保护2.0定级测评实施与运维》——1.2 等保 2.0 时代的主要变化
|
存储 小程序
小程序实现购物车功能
购物车功能是电商小程序中比较常见的功能之一,实现起来也比较简单。通过本文的介绍,我们可以学习到如何将用户所选的商品信息保存在本地,如何展示商品信息,如何计算商品总价和总数,以及如何提供用户对购物车中商品的操作。在实际开发中,还可以根据具体需求进行定制和优化,例如添加优惠券、满减活动等功能,提升用户购物体验。
616 0