写点什么

李锟谈 Fielding 博士 REST 论文中文版发布

  • 2007-07-02
  • 本文字数:1284 字

    阅读完需:约 4 分钟

日前,Roy Thomas Fielding 博士关于 REST 的论文 Architectural Styles and the Design of Network-based Software Architectures 中文版(《架构风格与基于网络的软件架构设计》)正式对外发布。在这个2000 年所著的论文中,首次系统阐述了REST 的架构风格和设计思想,对理解Web 架构和HTTP、URI 等标准背后的原理非常有帮助。InfoQ 中文站编辑霍太稳就此采访了主导此次公益性翻译的 Ajaxcn.org 网站站长李锟

Fielding 博士是 HTTP 和 URI 等 Web 架构标准的主要设计者,也是 Apache HTTP 服务器的主要设计者,他的这篇论文是 Web 发展史上的一个重要的技术文献。深入理解 REST 等 Web 架构背后的工作原理,对于开发者设计和构建高效的 Web 应用,这也是李锟决定发起这个翻译项目的主要原因:

翻译这篇论文就是为了将 REST 的思想介绍到中国。我们翻译了《Ajax 模式与最佳实践》,这是一本关于 REST 架构设计的非常好的书籍,内容非常深入。但是如果不懂 REST,就难以理解这本书中介绍的架构。而这本书的作者对于 REST 的来龙去脉也语焉不详,似乎认为每个读者都已经读过了 Fielding 的论文,对于母语不是英语的中国读者而言,这个假设是不成立的。而 Fielding 的论文阅读的难度非常大,如果不翻译过来,普通的读者肯定无法读懂(这个判断是客观的,因为我们自己也是在初稿翻译出来后,又费了很大功夫才真正理解了这篇论文)。为了帮助这本书的读者,我启动了这个公益性的翻译项目。

翻译的过程也是一次学习的过程,在这篇论文的翻译过程中,李锟充分理解了 REST 的各种架构约束,例如通用接口、操作语义的可见性、支持大粒度的数据通信等等。也理解了 HTTP 和 URI 的正确的使用方式,因为 HTTP 和 URI 正是基于 REST 的思想设计出来的。所有 HTTP 的扩展或者使用 HTTP 的 Web 应用,都应该与 REST 的各种架构约束相匹配,否则肯定无法在 Web 上面取得成功。

在过去的 7 年中,Web 技术的发展验证了本论文所主要阐述的 REST 技术的有效性,李锟举例说:

一个典型的反例就是 SOAP,尽管它在企业应用中取得了一些成功,并且被某些人吹嘘的天花乱坠,但是在 Web 应用中,却几乎没有人愿意使用 SOAP。我的判断是,主要的原因在于 SOAP 违反了 REST 的通用接口和语义可见性等架构约束。它仅仅是将 HTTP 作为一种传输协议来使用的,这种将 HTTP 仅仅作为一种能够穿越防火墙的传输协议来使用的扩展不只 SOAP。

但李锟表示虽然理解 REST 对 Web 开发非常重要,这一技术在国内的应用现状却并不乐观:

REST 应用目前在国内刚刚萌芽,还谈不上有什么应用。在 REST 的思想传入国内之前,国内绝大多数开发者并不理解 HTTP 和 URI 是用来做什么的,当然也包括我在内。

这篇论文由李锟和他的几个朋友共同翻译,如 91yee 翻译社区的负责人廖志刚、 Matrix 技术社区负责人刘丹和《重构与模式》的译者杨光等,由李锟负责全文的审校和润色。在这期间还得到了国内技术社区一些专家的支持,比如庄表伟、李琳骁、孟岩骆古道范凯、刘新生、刘江等。全程用时两个半月时间。

Update:

本论文于 2013 年被李锟重新翻译,新版经马国耀审校后于 2014 年发布于 InfoQ 中文站:查看新版论文译本

2007-07-02 21:2614634

评论 1 条评论

发布
用户头像
thx
2020-10-09 11:11
回复
没有更多了
发现更多内容

Python数据处理之导入导出excel数据

AntDream

Python 人工智能 大数据 数据分析 数据处理

神州数码与 EMQ 达成合作,共创 AI 时代的行业数据解决方案

新消费日报

mac菜单栏应用管理软件:Bartender 4 for Mac v4.2.25中文免激活版

你的猪会飞吗

Mac软件下载站 mcc软件

mac苹果电脑游戏推荐:fm足球经理Football Manager 2023 中文版

你的猪会飞吗

Mac游戏下载 Mac游戏推荐

鸿蒙? 车载?Flutter? React Native? 为什么我劝你三思,说点不一样的

AntDream

flutter 鸿蒙 kotlin React android jetpack

Android面试题之Kotlin协程一文搞定

AntDream

面试 kotlin 协程 协程原理 android jetpack

Git是如何保存和记录数据的——数据对象

AntDream

Git Submodule git merge git 规范 git hook

Android面试题之Kotlin协程到底是什么?它是线程吗?

AntDream

面试 kotlin 协程 协程原理 android jetpack

通过技术优化财务规划报告,重塑企业体验

智达方通

企业管理 全面预算管理 财务规划 财务报告 财务办公

从Purge机制说起,详解GaussDB(for MySQL)的优化策略

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号2024年6月PK榜

漆包线行业你了解多少?专业漆包线工厂智能化生产管理系统

万界星空科技

mes 万界星空科技 漆包线mes 漆包线 漆包线工厂

淘宝官方商品、交易、订单、物流接口列表(淘宝oAuth2.0接口),API稳定、QPS高的方案

tbapi

淘宝店铺订单接口 淘宝店铺订单交易接口 淘宝店铺订单详情接口 淘宝店铺订单物流接口

爆赞!GitHub首本前端开发实战Vue.js3,标星果然百万名不虚传

Geek_12490f

编程 程序员 前端 #Github VUE 3.0 源码解析

万界星空科技MES打造数字化生产车间

万界星空科技

数字化转型 数字化 mes 万界星空科技 数字化车间

李锟谈Fielding博士REST论文中文版发布_Java_霍太稳@极客邦科技_InfoQ精选文章