写点什么

HATEOAS 作为领域特定协议描述的引擎

  • 2009-06-09
  • 本文字数:783 字

    阅读完需:约 3 分钟

要解释清楚 HATEOAS,可是出了名的难缠,为了更为容易的解释它,Nick Gall探讨了 将它作为领域特定协议描述来进行表达这一观点。根据他的说法,HATEOAS 从传统上被描述为:

…着重强调 HATEOAS 要求每个服务器响应都必须不仅包含被请求的数据 - 还必须包含控制信息 (以特殊标记的 URL 形式) 来描述下一个被允许的与服务器交互的集合。正是这一附加的信息 (最小的情况下仅仅是对于更多数据的链接) 将普通的媒体变为了超媒体。

Nick 解释了他是如何以标识–Identifiers (Uri),格式 --Formats (HTML),和协议–Protocols (HTTP) 这种 (IF and P) 的方式来看待 Web 接口 (以及相应的 RESTful 接口) 的。根据他的说法,尽管使用 HATEOAS 的 RESTful 应用可以被看作这三个部件 (IF and P) 的总和,但在理解它的时候将超媒体作为一个领域特定协议描述来思考可能更为合适。他指出了 Jim Webber 的“ Rest 巴克”案例 / 演示,在其中叙述了用超媒体来做协议描述

乍一看这可能很不直观,因为我之前说在万维网里 HTTP 是协议而 HTML 是格式。但是 URL,HTML,HTTP 只是描述领域特定标识,格式,和协议的一般性描述语言。因此,可以把特定的 HTML 页面组织成的 web 想像成一个领域特定协议。

将“超媒体描述协议”这一观念与 WS-BPEL 1.1 规范 WADL 进行比较是不可避免的。他表示:

其基本的差别在于 WS-BPEL 是基于一次性地以带外的方式 (out of band) 预先将整个静态协议和盘托出的概念。而 HATEOAS 是基于逐步进展的描述这一观念,我认为一个更好的术语应当是即时协议描述 (Just In Time)。[…] 我可以说“每个服务器渐进的响应自描述了当前的协议。”

即时协议描述相对于预先描述有利有弊,表现在工具支持以及这些接口的可发现性上面。“超媒体描述协议”是否是考虑HATEOAS 观念的新思路呢,并且它是否更易于理解呢?

查看英文原文: HATEOAS as an engine for domain specific protocol-description

2009-06-09 09:433138
用户头像

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

关注

评论

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

YashanDB数据库性能调优中的核心指标解析

数据库砖家

YashanDB数据库性能瓶颈诊断与精准优化方法

数据库砖家

报名 | 美团技术沙龙第87期:鸿蒙原生适配与跨端架构演进实践

最新动态

YashanDB数据库性能调优中的核心指标解析

数据库砖家

YashanDB数据库性能监控实用指南

数据库砖家

数据分级分类解读及方案

金陵老街

数据 分级分类

C#/.NET/.NET Core优秀项目和框架2025年11月简报

追逐时光者

.net 微软

AI 英语教育 App 的主要功能

北京木奇移动技术有限公司

AI教育 软件外包公司 AI英语

AI 英语作文 App 的开发技术与功能

北京木奇移动技术有限公司

AI教育 软件外包公司 AI英语

鸿蒙系统 4.1.0 兼容 Android apk 如何检测兼容的 Android 系统版本是多少

lichong951

HarmonyOS HarmonyOS NEXT

项目性能优化实践:深入FMP算法原理探索|得物技术

得物技术

前端技术 前端算法 算法、

时序数据库 Apache IoTDB 在北京等你!锁定 COSCon 第十届中国开源年会

Apache IoTDB

平凡的我们,摘下鸿蒙世界的星辰

脑极体

AI

我用AI写了一本AI编程的书,销量还不错,这个经验可复制

陆通

元图CAD场景化插件:以智能引擎重塑设计边界,让效率与创新齐飞

元图CAD

人工智能 AI翻译 场景化插件

大数据-171 Elasticsearch-Head 与 Kibana 7.3.0 实战:安装要点、连通性与常见坑

武子康

Java 大数据 elasticsearch 分布式 Kibana

2025年开发者必看:用PandaWiki零代码搭建智能产品文档系统

百川云开发者

数字孪生项目开发核心技术栈

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

能看清,更要看懂:MME-VideoOCR全面评估MLLM视频OCR能力

快手技术

NeurIPS 顶会论文 快手技术

YashanDB数据库性能监控与瓶颈识别方法

数据库砖家

风险评估:黑龙江省企业等保测评整改后运维阶段的持续合规保障

等保测评

网络安全 信息安全 黑龙江等保测评 哈尔滨等保测评

成为一个进阶语音智能体开发者,你必须了解这些丨 RTE101 技术专场@RTE2025 回顾

RTE开发者社区

android 使用 java 编写网络连通性检查

lichong951

android Android TV

GitHub Actions 供应链攻击:Reviewdog 多个动作在特定时间段遭入侵

qife122

供应链攻击 CVE-2025-30154

安全审查支撑在黑龙江省等保测评整改中的独特设计

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

别让AI智能体瞎干活!多Agent分工+协作3步法,新手也会用!

王中阳Go

AI 智能体

JSAPIThree 数据源系统学习笔记:让数据在地图上可视化

map_3d_vis

csv 数据源 初学者 GeoJSON mapvthree

NFT 技术的应用及开发

北京木奇移动技术有限公司

NFT 数字藏品 软件外包公司

YashanDB数据库性能瓶颈及优化对策全面解析

数据库砖家

牡丹江市企业等保整改后:巧用产品功能应对定期复查

等保测评

网络安全 信息安全 黑龙江等保测评 哈尔滨等保测评

Step-Audio-R1:音频深度推理模型;Soul 冲刺港交所,「AI+沉浸式社交平台」,累计注册用户达 3.9 亿丨日报

RTE开发者社区

HATEOAS作为领域特定协议描述的引擎_SOA_Dilip Krishnan_InfoQ精选文章