硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

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

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

关注

评论

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

sparksql内核解析-读书笔记

聚变

面试突击26:如何正确停止线程?

王磊

面试

CorelDRAW2022最新版图形套件更新功能

茶色酒

CorelDRAW 2022

基于STM32+ESP8266+华为云设计的智能家居控制系统

DS小龙哥

物联网 智能硬件 stm32 3月日更

集合阿里云、达摩院、平头哥相关技术的HaaS,官宣出书啦!

博文视点Broadview

干掉Session?这个跨域认证解决方案真的优雅!

沉默王二

Spring Boot

联通实时计算平台演进与实践

Apache Flink

大数据 flink 开源 编程 实时计算

星环 KunDB 2.2 发布,为高并发事务与查询混合的业务系统提供一个新选择

星环科技

数据库

web前端培训_哪些学习方法对零基础比较有用

@零度

前端开发 培训学习

跨团队协作:提高团队生产力的 7 种策略

小炮

团队管理 知识管理 团队协作 办公效率

如何提升专注力?

石云升

职场经验 2月月更 专注力

如何恢复MAC苹果电脑系统数据文件?

茶色酒

EasyRecovery15

云原生时代,政企混合云场景IT监控和诊断的难点和应对之道

华为云开发者联盟

微服务架构 混合云 华为云Stack IT监控 SDN网络

cdr2022无需序列号和密钥 直接安装即可激活

茶色酒

cdr2022

22.04 LTS爆料现场 - UKUI 3.1带你开启“寻光”之旅

优麒麟

Linux 开源 优麒麟 UKUI

徐徐春风迎3月,月度更文活动准点发车啦!

InfoQ写作社区官方

3月程序媛福利 3月月更 热门活动

最好用的 7 个 Vue Tree select 树形组件 - 卡拉云

蒋川

Vue Vue 3

云原生多云应用利器 -- Karmada 控制器

Daocloud 道客

Kubernetes 云原生 多云管理 Karmada

Java中停止线程的3种方式

CRMEB

NFT盲盒商城游戏系统开发技术

薇電13242772558

NFT

最好用的 12 款 Vue Timepicker 时间日期选择器测评推荐 - 卡拉云

蒋川

Vue Vue 3

java培训应该怎么学习才能找合适的工作

@零度

JAVA开发 培训学习

Elastic 与 AWS 和解、英伟达 660亿 收购 ARM 失败|2月开源月报

腾源会

开源 腾源会

vivo全球商城全球化演进之路—多语言解决方案

vivo互联网技术

架构 后端 服务器

Python 中 base64 编码与解码

AlwaysBeta

Python 程序员 编程语言 base64

水果最新FL Studio20.9.1汉化功能详解

茶色酒

Fl fl20.9

Android技术分享| 【Android 自定义View】多人视频通话控件

anyRTC开发者

android 音视频 移动开发 视频通话 自定义view

大数据培训_文科生的你到底适不适合学习编程

@零度

大数据开发 培训学习

2021年中国收藏玩具行业市场洞察分析

易观分析

盲盒 潮玩

融云 IM 在 Electron 平台上的设计实践

融云 RongCloud

数据系统提供商极道科技加入龙蜥社区

OpenAnolis小助手

Linux 开源 数据系统

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