`
langzhe
  • 浏览: 288180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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


0
1
分享到:
评论

相关推荐

    创建webmachine应用程序

    本篇将围绕“创建WebMachine应用程序”这一主题,深入讲解WebMachine的核心概念、工作原理以及如何使用它来构建一个简单的Web应用。 首先,WebMachine并不是一个完整的Web框架,而是专注于处理HTTP请求和响应的库。...

    Webmachine.zip

    Webmachine 是一个应用层,为 mochiweb 提供 HTTP 语义的特性,定义一个简单而清晰的连接应用的方式。 标签:Webmachine Web框架

    sheehy_factory-webmachine

    这表明文档主要介绍了Webmachine的相关知识,包括其工作原理以及如何利用它构建Web资源服务器。 **Webmachine**是一种用于创建HTTP基础系统工具包的框架。由Justin Sheehy等人开发,旨在简化HTTP协议的操作,使得...

    webmachine-ruby:Webmachine,HTTP工具包(在Ruby中)

    Ruby网络机器 webmachine-Ruby的端口 ,信息被写入在二郎。...-了解Webmachine的工作原理以及创建资源的基础。 显示了如何实现每种HTTP方法。 Freenode上的IRC频道#webmachine 入门 下面我们通过一些例子说明如何使用

    webmachine, 基于REST的构建web应用程序的.zip

    webmachine, 基于REST的构建web应用程序的 webmachine这个项目从 Basho 开始,是Riak的创建者和维护者。 由于webmachine对更广泛的Erlang社区的重要性,形成了一个新的组织。 请与 @seancribbs 联系。概述 ...

    ocaml-webmachine:OCaml的REST工具包

    **ocaml-webmachine:OCaml中的RESTful服务构建利器** `ocaml-webmachine`是一个针对OCaml编程语言的开源库,专门设计用于构建RESTful Web服务。REST(Representational State Transfer)是一种网络应用程序的设计...

    oauth2_webmachine:OAuth2 服务器的 Webmachine 实现

    为了使下面的测试工作,必须创建一个示例客户端和资源所有者。 在运行服务器的 Erlang 实例的 shell 中执行以下命令: > oauth2_ets_backend:add_client(<<"ConfidentialClient">>, <<"Secret1">>, &...

    webmachine:用于构建Web应用程序的基于REST的系统

    由于Webmachine对于更广泛的Erlang社区的重要性,因此成立了一个新的组织。 请联系以参与。 概述 Webmachine是一个应用程序层,它在mochiweb提供的出色的按位和HTTP语法管理的基础上增加了HTTP语义意识,并提供了...

    lfe-webmachine:Lisp Flavored Erlang (LFE) 中的规范 webmachine 示例

    new_webmachine.sh 脚本创建的简单应用程序的基本直接端口从 Erlang 到 LFE。 当前的例外: 需要实现lfewm_sup:upgrade函数 必须手动实现lfewm_resource:ping 否则它似乎工作正常。 像其他任何东西一样构建​​...

    ruby-hal-server:基于Webmachine和ROAR的示例HAL Server

    Ruby-HAL服务器基于Webmachine和ROAR的示例HAL Server,受到我一天对访问的启发。 提供一个基本模板,用于设置结合和超文本应用程序语言(HAL)的简单应用程序,以在Ruby中构建真正的RESTful系统。 ROAR(Ruby中的...

    Good for restful API

    - **默认行为**:Webmachine实现了一些默认行为,应用需要实现一组特定函数,这些函数将在框架内部被调用。 - **好莱坞原则**:框架调用应用提供的函数,而不是反之。 - **函数签名**:所有函数具有相同的签名`f(Req...

    webcrank.hs:Webmachine启发性的工具包,用于构建http应用程序和服务

    Webcrank.hs是一个基于Haskell编程语言的HTTP应用程序和服务开发框架,它受到了Webmachine设计哲学的启发。Webmachine的理念是通过提供一个明确的状态机模型,使开发者能够更简单地理解和处理HTTP协议的复杂性。...

    飞艇:氦气+ Webmachine =飞艇。 用于构建声明性RESTful Web应用程序的工具包

    飞艇:氦气+ Webmachine =飞艇。 用于构建声明性RESTful Web应用程序的工具包

    bishop:一个类似于Webmachine的Clojure库

    Bishop是Clojure的的库。 Bishop提供的工具可以使您的Web服务轻松而直接地将视为一流的应用程序协议。 该库处理诸如内容协商和可预测的缓存行为之类的事情,使您可以集中精力构建一个干净且一致的API,无论它符合或...

    7周7web框架pdf文档

    - **双向数据绑定**:探讨AngularJS中的双向数据绑定机制,以及它如何简化数据同步的工作。 - **路由和过滤器**:学习如何在AngularJS中实现路由功能,并使用过滤器来操作和展示数据。 - **总结**:总结AngularJS...

    ewebmachine:HTTP决策树作为插件(对bashowebmachine的完整长生不老药重写并进行了改进)

    Ewebmachine是使用basho基于Webmachine的完全干净的DSL和插件集成的完全重写。 此版本与以前的版本(仅是围绕Webmachine的薄包装器)不向后兼容,请使用分支1.0-legacy来使用旧版本。 有关更多详细说明,请参见。 ...

    heroku-erlang-example:[未维护] 使用 webmachine 的 erlang 示例,托管在 heroku 上

    先决条件如果您使用的是 Mac,或使用: brew install erlang然后安装 。安装用git clone git://github.com/6/heroku-erlang-example.git克隆这个 repo cd进去,然后: makeforeman start这将在本地启动 web 服务器...

    octohipster:[UNMAINTAINED]用于Clojure的超媒体REST HTTP API库

    标签包括"clojure","swagger","webmachine"和"ClojureClojure"。"clojure"表明这个项目是用Clojure语言编写的,而"ClojureClojure"可能是对Clojure的重复提及或者强调。"swagger"是一个流行的API文档和测试工具,...

    七周七Web开发框架1

    Webmachine是基于Erlang的HTTP服务器,强调了对HTTP协议的正确处理。第一天,读者会学习HTTP请求状态机的概念,以及如何使用资源函数来处理请求。后续的两天,会深入到参数化转发、请求处理等方面。 总的来说,这...

    seven web framework in seven weeks

    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 ...

Global site tag (gtag.js) - Google Analytics