Webmachine是如何工作的
?92 Webmachine是如何工作的
?93 这个页面是从一个http请求到完成http响应来描述Webmachine基本原理。
?94 (这里有与你理解的"Web FrameWork"点不同,因为我们不讨论MVC,ORMs或另外一些关于应用程序的rest形式,我们相信你认识在你的应用程序中我们是做的最好的。 We ? ?bmachine's 的任务是帮助你确认你的应用程序在Web中运行组织是最好的)
?95?
?96 ? ? 当一个请求先被Webmchine接受,他是被dispatcher处理。如果分配器(dispatcher)没有找到相匹配的资源时会立即返回404错误。如果匹配成功时,请求数据记录
? ? (rquest, data, record)被创建,并且通过资源的init/1函数开始的。
?97?
?98 ? ? 资源流只是通过决策中心,事实上只运行HTTP flowchart的请求。在示例图上的每个决策点,webmachine都会决定哪个路径. 有些时候是根据请求的数据,例如:
? ? C3的路径纯粹依赖客户端发送的是否一个可接受的Header.在令一些情况C3决定是依赖于资源是否允许。 最后的路线是终止在示例图矩形的一个点上。Webmachine在那
? ? 个点上通过资源函数根据在示例图上通过的路线发送一个有合适heards\bodyHTTP和返回值的响应.
?99 ? ? 通常不需要担心那个大示例图,尽管在应用程序中定义相关的资源函数,剩下的Webmachine会帮你做。 当调式资源时,能很好的理解Webmachine核心机制是非常> ? ?有用的.
100 ? ? 从Webmachine's的核心工作方式,是遵循 Webmachine's的HTTP行为是相互的。每个请求是完全接受,并且HTTP响应结果是在返回前完整构造。 也就是说Webmachi ? ?ne适合非常大量的web applications,对于在客户端内部发送单一请求,逐渐或连续响应客户不是最合适的。
101 ? ? 仅仅写一个最基本的stus提供一个to_html函数,在构建Webmachine application是非常有用的。
102 当那个函数已存在(或另一个conete_types_provided)时你可以生成200 ok 响应. 再次之后,你能很容扩展你的程序的web行为通过添加其他的其他资源函数。
103?
?
原文http://webmachine.basho.com/mechanics.html