运行 本地网络服务器是什么意思?

What does it mean to run a local web server?

我可以在 Ruby 在 Rails/JS/HTML/CSS 中进行编程和开发,以制作一个完整的堆栈应用程序。但是,我对 HTTP request/response 循环的理解存在漏洞。以下几点正确吗?

上面是什么意思"to run a local web server"?

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

然后我们可以定义一个 web 应用程序 MySimpleApp 是机架兼容的(响应 call 方法的对象):

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

所以现在当我们在浏览器中导航到 localhost:3000 时,MySimpleApp 将被执行。 rack 只是 运行 是默认的 WEBrick 服务器吗?上面的命令只是简单地 运行 本地 Web 服务器并定义当 HTTP 请求进入时要做什么(执行 MySimpleApp)?

你的理解很正确。 HTTP 只是一种基于文本的协议,与许多协议一样,它在 TCP/IP.

上运行

内置的 WEBrick 服务器并不是用 Ruby 编写的 HTTP 服务器的最佳示例,但出于遗留原因将其包括在内,因为通常 "good enough" 可以帮助您入门。 Pow 要好得多,尽管它是由生产 Rails 的同一家公司生产的,但它主要是用 Node 编写的。

与许多基于 Internet 的协议一样,HTTP 的优点在于,只要您符合标准,使用什么语言并不重要。

Rack 是一个在 HTTP 之后运行的层,并在 request/response 周期上提供一个薄的抽象层。

服务器是为某种数据传输打开端口(80、443、8080)的东西。端口 80 是 HTTP 端口,端口 443 是 HTTPS 端口。 8080 是开发常用的端口(3000 也是)。 https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

根据定义,本地服务器是您计算机上的服务器 运行。

总的来说,你绝对是在正确的轨道上。