【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

李锟谈 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:2613405

评论 1 条评论

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

netty系列之:netty中的核心MessageToMessage编码器

程序那些事

Java Netty 程序那些事 4月月更

融合通信常见问题3月刊 | 云信小课堂

网易云信

前端

什么是元宇宙?为何要关注它?

CECBC

在线QuartzCron定时任务表达式在线生成

入门小站

工具

每个计算机人才都应该知道的IP地址分类

喀拉峻

计算机基础 IP

深入理解 Page Cache

swordholder

Linux Performance Linux Kenel PageCache

Ribbon从入门到源码解析

李子捌

微服务 SpringCloud Ribbon

百度信誉保障服务架构全解析

百度Geek说

后端

ffmpeg实现web在线转码

lo

4月月更

一个公式告诉你:如何提升团队的研发效率?

凌晞

技术管理 研发效率

CTF逆向涉及的各种加密算法

网络安全学海

网络安全 信息安全 CTF 渗透测试 漏洞挖掘

关于元宇宙热的冷思考

CECBC

如何保证同事的代码不会腐烂?一文带你了解 阿里巴巴 COLA 架构

Zhendong

Java 架构 4月月更

Web 3.0的未来产业趋势

王强

Web 3.0

数栈在湖仓一体上的探索与实践

袋鼠云数栈

数据库 大数据 数据湖 湖仓一体

Improvements of Job Scheduler and Query Execution on Flink OLAP

Apache Flink

大数据 flink 编程 实时计算 OLAP

两步实现让antd与IDE和睦相处的处理案例

袋鼠云数栈

大数据 开源

私有链还有未来吗?

CECBC

使用FFMPEG自动剪辑视频

十三

在线JSON美化格式化工具

入门小站

工具

一起看看 Go 1.18 新特性之多模块工作区模式

宇宙之一粟

Go 语言 4月月更

【愚公系列】2022年04月 MinIO文件存储服务器-window11下的安装

愚公搬代码

4月月更

实战异地多活架构之王者荣耀商城

晨亮

「架构实战营」

龙蜥开源Plugsched:首次实现 Linux kernel 调度器热升级 | 龙蜥技术

OpenAnolis小助手

Linux 内核 龙蜥社区 Plugsched

基于 HTML+CSS+JS 的石头剪刀布游戏

海拥(haiyong.site)

html 大前端 游戏 4月月更

墨水屏的“硬伤”与福气

脑极体

React代码规范

Teobler

React 代码规范 编码规范 react规范

【PIMF】OpenHarmony啃论文成长计划——浅谈中间件

离北况归

中间件 OpenHarmony 啃论文

Vue DevTools 使用指南 - 如何安装和使用 Vue DevTools 调试 Vue 组件

蒋川

Vue vue devtools

Linux之last命令

入门小站

Linux

活动预告 | OpenMLDB Meetup No.2

第四范式开发者社区

人工智能 机器学习 数据库 Meetup OpenMLDB

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