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
分享到:
相关推荐
本篇将围绕“创建WebMachine应用程序”这一主题,深入讲解WebMachine的核心概念、工作原理以及如何使用它来构建一个简单的Web应用。 首先,WebMachine并不是一个完整的Web框架,而是专注于处理HTTP请求和响应的库。...
Webmachine 是一个应用层,为 mochiweb 提供 HTTP 语义的特性,定义一个简单而清晰的连接应用的方式。 标签:Webmachine Web框架
这表明文档主要介绍了Webmachine的相关知识,包括其工作原理以及如何利用它构建Web资源服务器。 **Webmachine**是一种用于创建HTTP基础系统工具包的框架。由Justin Sheehy等人开发,旨在简化HTTP协议的操作,使得...
Ruby网络机器 webmachine-Ruby的端口 ,信息被写入在二郎。...-了解Webmachine的工作原理以及创建资源的基础。 显示了如何实现每种HTTP方法。 Freenode上的IRC频道#webmachine 入门 下面我们通过一些例子说明如何使用
webmachine, 基于REST的构建web应用程序的 webmachine这个项目从 Basho 开始,是Riak的创建者和维护者。 由于webmachine对更广泛的Erlang社区的重要性,形成了一个新的组织。 请与 @seancribbs 联系。概述 ...
**ocaml-webmachine:OCaml中的RESTful服务构建利器** `ocaml-webmachine`是一个针对OCaml编程语言的开源库,专门设计用于构建RESTful Web服务。REST(Representational State Transfer)是一种网络应用程序的设计...
为了使下面的测试工作,必须创建一个示例客户端和资源所有者。 在运行服务器的 Erlang 实例的 shell 中执行以下命令: > oauth2_ets_backend:add_client(<<"ConfidentialClient">>, <<"Secret1">>, &...
由于Webmachine对于更广泛的Erlang社区的重要性,因此成立了一个新的组织。 请联系以参与。 概述 Webmachine是一个应用程序层,它在mochiweb提供的出色的按位和HTTP语法管理的基础上增加了HTTP语义意识,并提供了...
new_webmachine.sh 脚本创建的简单应用程序的基本直接端口从 Erlang 到 LFE。 当前的例外: 需要实现lfewm_sup:upgrade函数 必须手动实现lfewm_resource:ping 否则它似乎工作正常。 像其他任何东西一样构建...
Ruby-HAL服务器基于Webmachine和ROAR的示例HAL Server,受到我一天对访问的启发。 提供一个基本模板,用于设置结合和超文本应用程序语言(HAL)的简单应用程序,以在Ruby中构建真正的RESTful系统。 ROAR(Ruby中的...
- **默认行为**:Webmachine实现了一些默认行为,应用需要实现一组特定函数,这些函数将在框架内部被调用。 - **好莱坞原则**:框架调用应用提供的函数,而不是反之。 - **函数签名**:所有函数具有相同的签名`f(Req...
Webcrank.hs是一个基于Haskell编程语言的HTTP应用程序和服务开发框架,它受到了Webmachine设计哲学的启发。Webmachine的理念是通过提供一个明确的状态机模型,使开发者能够更简单地理解和处理HTTP协议的复杂性。...
飞艇:氦气+ Webmachine =飞艇。 用于构建声明性RESTful Web应用程序的工具包
Bishop是Clojure的的库。 Bishop提供的工具可以使您的Web服务轻松而直接地将视为一流的应用程序协议。 该库处理诸如内容协商和可预测的缓存行为之类的事情,使您可以集中精力构建一个干净且一致的API,无论它符合或...
- **双向数据绑定**:探讨AngularJS中的双向数据绑定机制,以及它如何简化数据同步的工作。 - **路由和过滤器**:学习如何在AngularJS中实现路由功能,并使用过滤器来操作和展示数据。 - **总结**:总结AngularJS...
Ewebmachine是使用basho基于Webmachine的完全干净的DSL和插件集成的完全重写。 此版本与以前的版本(仅是围绕Webmachine的薄包装器)不向后兼容,请使用分支1.0-legacy来使用旧版本。 有关更多详细说明,请参见。 ...
先决条件如果您使用的是 Mac,或使用: brew install erlang然后安装 。安装用git clone git://github.com/6/heroku-erlang-example.git克隆这个 repo cd进去,然后: makeforeman start这将在本地启动 web 服务器...
标签包括"clojure","swagger","webmachine"和"ClojureClojure"。"clojure"表明这个项目是用Clojure语言编写的,而"ClojureClojure"可能是对Clojure的重复提及或者强调。"swagger"是一个流行的API文档和测试工具,...
Webmachine是基于Erlang的HTTP服务器,强调了对HTTP协议的正确处理。第一天,读者会学习HTTP请求状态机的概念,以及如何使用资源函数来处理请求。后续的两天,会深入到参数化转发、请求处理等方面。 总的来说,这...
This book covers seven web frameworks that are influencing modern web applications and changing web development: Sinatra, CanJS, AngularJS, Ring, Webmachine, Yesod, Immutant. Each of these web ...