加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 运行本地Web服务器意味着什么?

发布时间:2020-12-17 03:29:35 所属栏目:百科 来源:网络整理
导读:我可以在 Ruby on Rails / JS / HTML / CSS上编程和开发,以创建一个完整的堆栈应用程序.但是,我对HTTP请求/响应周期的理解存在漏洞.以下几点是否正确? 如果我创建一个Rails应用程序,并在命令行键入rails服务器,我会得到一个本地服务器,我可以向其发出请求.
我可以在 Ruby on Rails / JS / HTML / CSS上编程和开发,以创建一个完整的堆栈应用程序.但是,我对HTTP请求/响应周期的理解存在漏洞.以下几点是否正确?

>如果我创建一个Rails应用程序,并在命令行键入rails服务器,我会得到一个本地服务器,我可以向其发出请求.如果我打开浏览器,键入localhost:3000,然后按回车键,我正在向本地服务器发出HTTP请求.
> Rails默认使用一个名为WEBrick的Web服务器,不过还有Thin,Puma和Unicorn等其他服务器.这些都是软件,它们是Web服务器的原因是软件实现了处理HTTP请求的功能.
>当我运行本地Web服务器时,这意味着我的计算机正在运行其中一个侦听HTTP请求的软件.

以上是什么意思“运行本地Web服务器”?

>我已经看到了“运行本地Web服务器”的其他方法示例.其中一个是在项目目录中运行npm install -g http-server,然后导航到localhost:8080.这也只是开始运行并接受端口8080上的HTTP请求的软件吗?
>在Ruby命令行中,安装rack gem:gem install rack.然后在一个新的Ruby文件中我们需要’rack’,启动一个Web服务器:

Rack :: Server.start({app:MySimpleApp,port:3000})

然后,我们可以定义符合机架的Web应用程序MySimpleApp(响应调用方法的对象):

class MySimpleApp
  def self.call
    (...)
  end
end

所以现在当我们在浏览器中导航到localhost:3000时,会执行MySimpleApp.机架只是运行它的默认WEBrick服务器吗?以上命令是否只是运行本地Web服务器并定义HTTP请求进入时要执行的操作(执行MySimpleApp)?

解决方法

你在那里的理解非常正确. HTTP只是一种基于文本的协议,与许多协议一样,它通过TCP / IP进行操作.

内置的WEBrick服务器不是用Ruby编写的HTTP服务器的最佳示例,但它包含在遗留原因中,因为它通常“足够好”,可以帮助您入门. Pow相当好,尽管由生产Rails的同一家公司生产,但它主要用Node编写.

像许多基于互联网的协议一样,HTTP的美妙之处在于,只要您遵守标准,使用何种语言并不重要.

Rack是一个在HTTP后面运行的层,在请求/响应周期中提供了一层薄的抽象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读