`
hax
  • 浏览: 961456 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Comet和REST是否有冲突?(兼REST辩论之观感)

    博客分类:
  • AJAX
阅读更多
这两天看了激烈讨论的帖子http://robbin.iteye.com/blog/82227,其中辩论双方都谈到Fielding的名言:HTTP不是Transport protocol(这个其实比较难理解的,主要是俺们英文差,不能区别Transfer和Transport的差别)。

抛开这个已经被锁定而无法继续回帖的帖子不谈,我就想到了Comet,按照我的理解,Comet就是利用HTTP来作Transport……而这样不是不符合REST了?

最后我再此谈一点对前面这个辩论的观感。偶本人对于分布式的理解是很浅薄的。但是我发现在后期的讨论中,其中一方因名责实。 其实Fielding同志作为HTTP的设计者之一,当然最有资格声明HTTP的设计意图。按照我的理解,HTTP只是他们(包括TBL等)对于整个Web架构设想的一环。因此REST论文,阐述的是整个对于web的世界观。因此他解说HTTP不是RPC,是从方法论层面来说的,如果偏要坚持说HTTP就是protocol level的东西,乃至载上tcp/udp包也可以,那就真的只能感叹“有点风马牛不相及”了。
分享到:
评论
4 楼 dlee 2007-07-06  
hax 写道
fielding同志没有评价过comet。。。那时候还没有comet这个名词(寒一个),他只是说http不是rpc,另外批评了一下webdav。

晕,你是上了那个大嘴巴Lordaeron的当了。
dlee 写道
Fielding在论文中根本就没有这样抨击过WebDAV,而是从正面表扬WebDAV是一个行为良好的扩展。这说明你根本没有看懂Fielding的原文,你的英文程度很差。WebDAV开发恰好我前些年也做过,WebDAV是把HTTP4种动词都用上了。WebDAV是面向服务器端的文件系统的,它是将资源映射到服务器端的文件系统。你并不懂WebDAV,为何还要在这里卖弄呢?

你的目的莫非就是为了证明:其实Fielding并不懂RPC,我Lordaeron要比Fielding更懂RPC,甚至比Fielding更懂HTTP?
其实谁比谁更懂HTTP我并不是很关心,我们翻译这篇论文也是想为了给大家提供一个方便,让大家不至于被某个歪嘴和尚误导。但是你这样明目张胆歪曲Fielding的观点,我却感觉有点愤慨了。

也别听另外一个大嘴巴winterwolf的。hax你自己完全有能力读懂Fielding的原意,Fielding论文的中文版已经放在那里了,我们可以凭良心说没有故意将自己的私货塞在里面。
3 楼 winterwolf 2007-07-06  
hax 写道
fielding同志没有评价过comet。。。那时候还没有comet这个名词(寒一个),他只是说http不是rpc,另外批评了一下webdav。


webdav我感觉很好 基于webdav一样可以restful .  fielding在论文里好像没有批判webdav
2 楼 hax 2007-07-06  
fielding同志没有评价过comet。。。那时候还没有comet这个名词(寒一个),他只是说http不是rpc,另外批评了一下webdav。
1 楼 winterwolf 2007-07-06  
comet有点象网络广播 fielding的意思可能是如果用http来comet会有性能问题 也就是说http不适合comet类的应用。

我感觉微软也许有能力放弃http

相关推荐

    comet4j 所需js以及comet4j-tomcat6.jar、comet4j-tomcat7.jar包

    综上所述,这个压缩包包含的`comet4j.js`、`comet4j-tomcat6.jar`和`comet4j-tomcat7.jar`是实现基于Java的Comet4j实时通信框架的关键组件。它们分别负责客户端的JavaScript交互、在Tomcat服务器上的集成和支持,为...

    comet demo 向客户端推送例子

    总的来说,这个"comet demo"是一个学习和理解Comet技术的绝佳实践,可以帮助开发者掌握如何在Java Web环境中实现服务器向客户端的实时数据推送。通过深入研究和运行这个示例,你可以更好地了解HTTP长连接的工作原理...

    comet4j-tomcat6.jar和comet4j-tomcat7.jar和comet4j.js

    标题中的"comet4j-tomcat6.jar"和"comet4j-tomcat7.jar"是针对Tomcat 6和7版本的特定兼容库。这两个JAR文件包含了Comet4j的核心组件,使得开发者能够在这些版本的Tomcat上部署和运行支持Comet的Web应用程序。它们...

    comet4j.jar

    - **Comet4j API**:学习如何在Java代码中使用Comet4j提供的API,创建和管理Comet连接,注册事件监听器,以及发送和接收数据。 - **服务器配置**:了解如何在Tomcat等支持的服务器上配置Comet4j,包括添加必要的...

    comet框架例子项目

    7. **错误处理和重连机制**:在Comet应用中,网络中断或服务器故障是常见情况,因此良好的错误处理和自动重连机制是必不可少的。 8. **性能优化**:由于Comet涉及到大量长连接,服务器资源管理(如连接池)和并发...

    web推送 comet技术

    最后,部署项目到Tomcat7服务器,启动服务器,通过浏览器访问项目,测试Comet推送功能是否正常工作。 在实际应用中,Comet技术的性能和效率会受到服务器负载、网络状况以及浏览器支持的影响。因此,在设计和实现...

    Python库 | comet_ml-2.0.12.tar.gz

    总的来说,Comet_ml是Python开发者在机器学习领域不可或缺的工具之一,它简化了实验管理、优化过程,并促进了团队协作。对于任何致力于提升机器学习项目效率和质量的开发团队来说,Comet_ml都值得尝试和采用。

    comet4j实例

    Comet4j是一个Java库,专门用于实现Comet技术,这是一种服务器推送技术,允许服务器向客户端实时推送数据,而不仅仅是响应客户端的请求。在Web应用中,这种技术常用于实现聊天室、股票报价、在线游戏等实时交互功能...

    comet4j所有资源和示例代码

    1. `comet4j-tomcat6.jar` 和 `comet4j-tomcat7.jar`: 这两个JAR文件是Comet4J的Tomcat适配器,用于在Apache Tomcat 6和7版本上运行Comet4J应用。它们包含了与Tomcat容器交互所需的特定代码,以便Comet4J可以利用...

    comet套件(comet4j-tomcat6/7.jar、comet4j.js)

    1. `comet4j-tomcat6.jar` 和 `comet4j-tomcat7.jar`:这两个JAR文件是Comet4J为Tomcat 6和Tomcat 7优化的版本,它们提供了与Tomcat容器集成的能力,允许开发者在Tomcat环境下使用Comet4J实现服务器推送功能。...

    comet4j 自己写的消息推送 觉得实用

    【标题】"comet4j 自己写的消息推送 觉得实用" 提示我们讨论的是一个自定义实现的基于 Comet4j 的消息推送系统。Comet4j 是一个开源的 Java 框架,用于实现实时的、双向的、基于 HTTP 长连接的消息推送服务,它解决...

    comet4j完整包

    【标题】"comet4j完整包"是一个与Web服务端推送技术相关的软件包,它包含了一系列用于实现实时通信的组件和库。这个包旨在帮助开发者构建基于Comet技术的应用,以提供高效的、双向的服务器到客户端的数据传输。 ...

    comet 框架 之 pushlet

    在Web应用中,尤其是在需要实时更新信息的场景下(如聊天室、股票行情、在线游戏等),Comet技术能显著提高用户体验,因为它可以即时地将服务器的更新推送给客户端,而无需客户端频繁请求。 Pushlet是Comet框架的一...

    comet demo

    Comet 是一种网络技术,它颠覆了传统的HTTP请求与响应模型,...通过深入研究和运行"Comet Demo",我们可以更好地理解Comet技术的工作原理,并学习如何将其应用于实际的在线交互应用中,提高用户体验和系统的实时性。

    catalina-comet.jar

    而Catalina-Comet.jar则包含了一些专门为Comet编程模式设计的类和接口,使得开发者能够在Tomcat环境中实现高效的长连接和服务器推送。 在Catalina-Comet.jar中,主要包含以下关键知识点: 1. ** CometProcessor...

    asp.net comet例子

    ASP.NET Comet是一个技术概念,它涉及到了Web应用程序中的实时通信,特别是服务器向客户端推送数据的能力。在传统的HTTP协议中,服务器通常在客户端发起请求时才响应,而在Comet模式下,服务器可以保持一个连接开放...

    配置tomcat支持comet

    【标题】:“配置Tomcat支持Comet” 在Web开发中,传统的HTTP协议是基于请求-响应模型的,服务器端等待客户端发起请求,然后响应。但有些应用,如实时聊天、股票更新、在线游戏等,需要服务器能够主动推送数据到...

    comet4j服务器推可运行DEMO

    这个DEMO的目标是帮助初学者快速理解和应用Comet4j,通过实际操作来学习如何配置和运行服务器推送服务。 首先,我们要了解Comet4j的核心概念。Comet4j采用了长轮询(Long Polling)、流(Streaming)和HTTP连接保持...

    comet4j完整资源

    4. **事件驱动(Event-driven)**:Comet4j可能采用事件驱动架构,当服务器端有新数据时,会触发相应的事件,客户端通过监听这些事件来获取和处理数据。 5. **异步处理(Asynchronous Processing)**:为了处理大量并发...

    Comet一个现代PHP框架,用于构建快速的REST API和微服务。-PHP开发

    Comet一个现代PHP框架,用于构建快速的REST API和微服务。 Comet Comet是用于构建快速REST API和微服务的现代PHP框架。 Superpower以每秒100K HTTP请求和商品云硬件上的〜0.1 ms延迟快速燃烧,真正跨平台,在Linux,...

Global site tag (gtag.js) - Google Analytics