繁体   English   中英

什么是机架? 我可以使用它使用Ruby构建Web应用程序吗?

[英]What is rack? can I use it build web apps with Ruby?

红宝石新手提醒! (嘿那押韵:))

我已经阅读了官方定义,但仍空手而归。 当他们说中间件时究竟是什么? 目的是使用ruby和https吗?

patnaik博客上的小教程让事情更清晰,但我如何在localhost上做些什么呢? 我有ruby 1.9.2与rack gem和mongrel服务器一起安装。

我先开始杂种吗? 怎么样?

只是添加一个简单的Rack解释(因为我觉得缺少):

Rack基本上是一种Web应用程序可以与Web服务器通信的方式。 沟通如下:

  1. Web服务器告诉应用程序有关environment - 主要包含用户作为请求发送的内容 - 网址,标题,是GET还是POST等。
  2. Web应用程序响应三件事:
    • 当一切正常时, status代码将是200当出现问题时, status代码将超过400
    • 作为信息Web浏览器的headers可以使用关于在其缓存和其他内容中保持多长时间的信息的信息。
    • body是您在浏览器中看到的实际网页。

这两个步骤或多或少可以定义Web应用程序的整个过程。

所以一个非常简单的Rack应用程序看起来像这样:

class MyApp
  def call(environment) # this method has to be named call
    [200, # the status code
     {"Content-Type" => "text/plain", "Content-length" => "11" }, # headers
     ["Hello world"]] # the body
  end
end

# presuming you have rack & webrick
if $0 == __FILE__
  require 'rack'
  Rack::Handler::WEBrick.run MyApp.new
end

您最好搜索对您有意义的其他问题和答案。 尝试“Rails入门”或“Ruby Web开发”。 本网站上有很多不同的主题专门讨论这个问题,所以你可以省去一些麻烦......

在一分钟内忽略您的问题的细节,似乎您想学习Ruby并构建Web应用程序。 在开始深入研究Rack或Mongrel或其他任何内容之前,您应该知道有两个完善的框架可以帮助构建Ruby Web应用程序。 第一个是Ruby on Rails,另一个是Sinatra。 还有很多其他的,但这些是Stack Overflow和互联网上最全面的文档。

查看以下链接了解一些背景信息......

如果你仍然渴望回答你的问题 - “什么是机架?”,你应该遵循相同的过程,并最终在这个Stack Overflow答案:

什么是Rack中间件?

祝好运!

确实非常好的答案。 对于我的两分钱,我会添加这个,因为如果你知道如何获得幕后的文档,你会发现很多信息,因为我把它藏在这里,绝不是我所拥有的一切。 http://myrackapps.herokuapp.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM