写点什么

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:49952
用户头像

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

关注

评论

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

字节跳动:“挖”出来的技术战斗力

李忠良

28天写作

Soul 源码阅读 06|Nacos 同步数据分析

哼干嘛

14天1000+大集群滚动升级,银行柜台竟然毫无感觉

华为云开发者联盟

大数据 金融 FusionInsight 华为云 集群

两种端到端通用目标检测方法

华为云开发者联盟

训练 目标检测 端到端 DETR DeFCN

谁,是产品的利益相关方?

不离

极客大学认识产品经理 极客大学产品经理训练营 跟着二爷学产品

28天瞎写的第二百三十二天:转角遇到蚵仔煎

树上

28天写作

提词器来了 | 视频号28天(23)

赵新龙

28天写作

回到过去就能无憾了吗?「幻想短篇 22/28」

道伟

28天写作

老外程序员的Java性能优化方式是什么?JVM调优策略+工具+技巧

Java架构追梦

Java 学习 架构 面试 jvm调优

Elasticsearch 是分布式文件存储么 ?

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

团队建设,凝聚人心打胜战

一笑

管理 团队建设 28天写作

区块链人才能力评价测试机构亮相

CECBC

区块链人才

创业失败启示录|神奇的茶学

阿萌

28天写作 创业失败启示录 青城

GTX1060安装TF2-GPU

IT蜗壳-Tango

七日更

h-index

lidaobing

28天写作 h-index

机器学习·笔记之:Gradient Descent

Nydia

区块链真正的价值即将“引爆”行业应用

CECBC

区块链金融

架构师训练营第 2 期 第 7 周 作业一

老腊肉

架构师训练营第2期

管理笔记[1]:成为管理者的开端“以人文本“

L3C老司机

资本市场两极分化将是新常态

JiangX

28天写作

苹果设备电池及充电周期

张老蔫

28天写作

jdk8 String和StringBuilder对象创建所在位置

ilovealt

Java string StringBuilder

MapReduce练习案例4 -求共同好友

小马哥

大数据 hadoop mapreduce 七日更

融资融券两融系统搭建开发

v16629866266

数字货币将如何改变日常生活

CECBC

数字货币

半导体芯片小白基础知识(1) (28天写作 Day22/28)

mtfelix

芯片 半导体 集成电路 28天写作

浅说 SQLite 的许可证模式

Justin

开源 版权保护 28天写作

【Node.js】事件触发器 - 基础篇

德育处主任

Node 28天写作

架构解读丨Volcano作业资源预留设计原理

华为云开发者联盟

批处理 Volcano 资源预留 作业资源预留

localStorage和sessionStorage本地存储

我是哪吒

html html5 面试 大前端 html/css

老同学遭遇电信诈骗纪实

石君

28天写作 电信诈骗

Atom的价值?_SOA_Mark Little_InfoQ精选文章