BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Dilip Krishnan 关注 0 他的粉丝 ,译者 黄璜 关注 0 他的粉丝 发布于 2009年6月10日. 估计阅读时间: 2 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

要解释清楚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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT