Одна из функций rails server
заключается в том, что он загружает все зависимости / гемы, требуемые вашим Rails-приложением, или, по крайней мере, настраивает их для автоматической загрузки позже, когда они необходимы.Это иногда называется «загрузкой» или загрузкой «среды Rails».Это также делается, когда вы запускаете другие команды rails , такие как rails console
или rails runner
.
. Также запускается веб-сервер с именем WebRick.Веб-сервер представляет собой фрагмент кода ruby, который при запуске привязывает себя к порту (по умолчанию порт 3000) на вашем компьютере и начинает прослушивать входящие HTTP-запросы на этот порт.
Когда приходит запрос(например, HTTP-запрос GET пользователя, загружающего вашу страницу), веб-сервер работает вместе с направляющими для обработки запроса.Я не уверен точно, как распределяется работа, но веб-сервер должен позаботиться о вещах более низкого уровня, таких как чтение заголовков HTTP, и рельсы должны позаботиться о том, чтобы определить, к какому контроллеру и действию направить запрос (используя ваши маршрутыфайл .rb).Я думаю, что компонент rails, который выполняет эту работу, называется action_dispatch, и он находится в геме actionpack.