写点什么

Atom 的价值?

  • 2008-11-03
  • 本文字数:962 字

    阅读完需:约 3 分钟

在回应 How to GET a Cup of Coffee 这篇文章时,Bill Burke, RESTeasy (一个 JAX-RS 实现)的主要开发者之一,这样谈到:

我始终没能被 Atom 的价值触动,在这个特例里,它又比”multipart/*”之类的好在哪里呢?为了支持 Atom XML 交互格式,你又不得不增加客户端及服务器端的复杂性。通过 multipart,我们可以以一种更加紧凑的格式来获取同样的信息(通过位置 [Location],内容位置 [Content-Location],和内容类型 [Content-Type] 报头)。
就算比 multipart 更好,为什么不就返回一个逗号分隔的有序 URI 列表呢?
REST 吸引我的地方之一(但不仅如此)就是你可以关注于你的服务之间交换的数据格式而不是用某种中间协议来在交互中充当隧道。目前来说,Atom 于我而言不过是 SOAP 的另一种更具诱惑性的替代罢了。

Bill de hOra 试图帮助(另一个)Bill 来回答这一问题,并为他列出了 Atom 的七大要领:

  1. atom:id
  2. atom:updated
  3. atom:link
  4. 扩展规则(mustIgnore, foreign markup)
  5. 日期构建规则
  6. 内容编码规则
  7. 无序的元素

根据 Bill(de hOra)的说法,SOAP 以前(或是现在?)的问题(就一个问题?)在于“最小化的信封什么也没定义,扩展规则采用了错误的默认规则 [mustUnderstand],而内容编码成为了遗留的功课。 ”

他接着总结到这些原则实际上比 Atom 本身更为广泛适用:

就算你不喜欢 Atom(或就此不喜欢 XML),如果你的传送格式想要在 Web 上生存下去的话,你也必须处理这七项基本类型。这就是我对那些喜欢更直接一点并具体到域,而不是将整个域映射到像 Atom 和 SOAP 这种抽象格式上的人们想说的话——就格式来讲,对此展开进攻你大概就能获得 80% 的质量和健壮性了。我相信它对任意Web 或去中心化系统上所用的格式都是适用的,而不限于 XML。一旦一种稀松的数据格式被放任自流,你不能仅仅去重构调用者了,你只有不断的版本控制,版本控制,版本控制。

实际上一篇最早期的 Atom 文章提到如下几点:……

……Atom API 设计在思想上与如下几点指导原则保持了高度一致: - 定义良好的数据模型——包括模式及其它一切!

  • 文档风格的 Web 服务,而不是 RPC
  • 发挥 XML 和名字空间的所有优势
  • 发挥 HTTP 的所有优势
  • 安全,因此在明文中没有密码

这确实与 SOAP 的开端截然不同,随着越来越多的人 开始出于各种理由拥抱Atom ,有理由相信此刻它是REST 最受宠的一个孩子。

查看英文原文: The Value Of Atom?

2008-11-03 01:49955
用户头像

发布了 133 篇内容, 共 37.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

OpenAI“草莓项目”最快今年秋季发布!苹果将于9月10号推出首款AI iPhone|AI日报

可信AI进展

JS脚本批量处理TS数据类型

快乐非自愿限量之名

JavaScript js 脚本

通过观测云 eBPF Tracing 实现无埋点的全链路追踪

观测云

ebpf

Web server failed to start. Port 8080 was already in use.之解决方法

百度搜索:蓝易云

centos7下docker设置新的下载镜像源并调整存放docker下载镜像的仓库位置

百度搜索:蓝易云

Git常见问题:git pull和git pull--rebase二者区别

百度搜索:蓝易云

京东商品信息高效抓取:利用API实现数据获取的实战指南

代码忍者

API 测试 API 策略

开发体育直播平台:如何全面防护,抵御网络攻击?

软件开发-梦幻运营部

人工智能赋能经管学科创新发展,和鲸助力同济大学打造教研训一体化实践

ModelWhale

人工智能 交叉学科 同济大学 经济与管理 同济大学MBA

玩转软件定义存储 | 全方位体验天翼云存储资源盘活系统HBlock

xybDIY

#天翼云 #HBlock #轻量存储 #轻量级存储集群控制器 #存储

嵌入式笔记 day1

万里无云万里天

嵌入式

mac远程工具推荐:Microsoft Remote Desktop for Mac 特别版

你的猪会飞吗

Mac软件 mac软件下载 mac破解

数业智能心大陆开学 “收心” 全指南

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

汽车乘客热舒适度大挑战,如何利用仿真技术提高汽车环境舒适度

Altair RapidMiner

人工智能 汽车 仿真 智能制造 altair

Python调用墨迹天气API实践指南

幂简集成

API 天气api

一文了解 AIOps 的含义、特点与功用

Anliven

AIOPS 智能运维 智能运维AIOps

Mysql和Oracle的语法区别?

百度搜索:蓝易云

阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源

阿里云大数据AI技术

人工智能 开源 LLM Alignment PAI-ChatLearn

996/007:背后的真相

老张

职场成长 996 007 认知 加班文化

JDBC类型解析

JDBC count(1) jdbc类型处理

在AI最火热的时候,AI大牛写了本小说

博文视点Broadview

京东商品信息快速获取:API返回值实战教程

技术冰糖葫芦

API Explorer API 测试 API 策略 pinduoduo API

在 Go 中如何让结构体不可比较?

秃头小帅oi

物理机服务器应该注意的事

百度搜索:蓝易云

如何利用 StarRocks 实时分析数据湖中的数据?

镜舟科技

StarRocks 湖仓一体 大数据 开源

Atom的价值?_SOA_Mark Little_InfoQ精选文章