此文章仅仅是一时兴起而记录的,利用了MS的bing。其中Wife用W代替,Ryan用R代替。原文地址:https://d4dilip.wordpress.com/2011/10/18/how-i-explained-rest-to-my-wife/
W: 谁是“Roy Fielding”?
R: 一个很有才智的人。
W: 他做了什么?
R:他帮助完成了第一个web 服务器,并且为解释web原理做了大量的工作(研究?,他的名字在我们从服务器获取页面到浏览器的协议。
W:它是如何工作的?
R:web?
W:是的。
R:它真的很棒,但是它经常被低估。我将要说的协议的名称是“HTTP”,常常被人忽略但是能够带来各种好东西(内容)。
W:你的意思是“HTTP”像我在浏览器输入的起点?
R:是的,首先告诉浏览器使用的(HTTP)协议,这些东西(内容)是计算机历史上的非常重要的突破。
W:为什么?
R:因为它有能力将一些本地的东西在整个世界上进行描述(展示),它是web的基础。你可以将它比喻成知识和信息的GPS坐标。
W:因为网页?
R:无论如何。“Roy Fielding”对我要说的做了很多的研究。WEB构建在一个叫“REST”的架构上,“REST”提供了一个“资源”定义,是这些东西的指向。
W:一个网页是一个资源
R:有点。一个网页代表一个资源,资源是一个概念。URLs--就是你在浏览器输入的那些……
W:我知道URL是什么……
R:它们告诉浏览器这里有个资源(概念性的),浏览器可以去访问这个资源。浏览器访问表示这个概念资源的网页。
W:还有其它的表现形式吗?
R:事实上,这种表示方式我们使用的不多。大多数情况下,资源只有一个唯一的表示。但是我们希望有一堆新的格式,用来表示不同的东西。
(原文:Actually, representations is one of these things that doesn’t get used a lot. In most cases, a resource has only a single representation. But we’re hoping that representations will be used more in the future because there’s a bunch of new formats popping up all over the place.)
W:比如什么呢?
R: 这里有一种资源叫“Web Service”,对很多不同的人意味着很多不同的事,但其基础概念就是机器可以使用web,就像人使用web一样。
W:这个另外一个机器人吗?
R:不是的,我的意思不是机器可以坐下浏览网页。不同的计算机可以通过相同的协议互相发消息,我们已经这样很长时间了,但是仍然没有一个让全部计算机通信的协议可以出现( 此处翻译可能不准确哦)
W:为什么?
R:因为设计时就不是为了这个目的,在开始建设WEB之初,允许一定范围内的一定的计算机的通信是设计首要目的,而计算机的互相通信不是必需的。你只需要一个小组中的计算机的互相通信。
W:但是现在需要所有的计算机进行通信?
R:是的,现在我们需要所有计算机之间可以通信,所以我们需要一个方法告诉计算机某些资源在其它的计算机上。
W:为什么?
R:让我们假设你妹妹想借一些东西,你没有的,但是你妈妈有,所以你告诉她你妈妈有(可以去借)。当机器进行通信时,也像真实生活中一样。
W:机器是如何告诉其它机器东西在哪里呢?
R:当然是URL。每个可以通信的计算机都有一个统一标准的URL,相当于创建了一个计算机的特定名称。你和我以及世界上其他人都同意用这种方式来表达计算机资源。
W:明白了
R:机器并不包括一个统一的名称(哦哦,不知道对不对啊)--很遗憾。每一种编程语言、数据库和不同的系统用不同的方式表达这个名称。所有URL是很重要的,它告诉所有系统彼此之间的名称。
W:但我浏览网页的时候不是这么认为的。
R:除了一部分必须的管理人员外,都是机器在坚守着(网络)
W:动词、代词和形容词呢?
R:你问的是REST另外一个重要特点,动词。
W:我只是开玩笑
R:虽然是一个笑话,但是笑话不是它的全部。动词是很重要的,它们的力量是来自网络的生态环境。用geek的方式来描述就是不同的名字可以用相同的动作来表示它们。
W:我理解不了
R:看这个咖啡桌。 有什么是名词?被子、盘子、报纸、遥控器。有什么东西可以做所有的东西呢?
W:我理解不了
R: 你可以拿起(它们)来吧?可以敲击它们,借出它们。甚至可以在会议中使用它们的名字。
W:那么?
R:这很重要。这样我可以对你说“拿一下杯子”、“拿一下报纸”或“拿一下遥控器”。我们不能为动作设定一些名词,比如拿,而是想出一些新词作为它们的组合。
W:这很奇怪
R:是的。我们的大脑是以某种方式不够聪明,要知道,相同的动词可以适用于许多不同的名词。一些动词是比其他人更具体,只适用于一小套的名词。例如,我不会开一个杯子,我不能喝一辆车。但有些动词既像获取、 放置、 和删除几乎普遍。