Сначала браузер резолвит URL в IP адрес сервера, получая эту информацию от службы DNS провайдера (или третьей стороны типа Google). Запрос отправляется на полученный адрес. Там его встречает web-server — это программа (nginx самый известный пакет такого типа), которая висит на 80 порту (443, если используется шифрование) и принимает входящие запросы.
Далее эта программа перекидывает входящие запросы по заранее сконфигурированным правилам, в нашем случае на требуемый application-server (здесь обычно используется puma, раньше был популярен unicorn). Это уже часть Rails. В рельсах сырой запрос сначала обрабатывается гемом rack, он из входящего запроса создает сложную структуру и передает ее для дальнейшей обработки. Здесь rack является middleware.
Далее запрос обрабатывается маршрутизатором по правилам из файла routes.rb. Здесь rails определяет, в какой контроллер и какой action нужно направить запрос. Контроллер определяется из запрашиваемого URL, action на основании комбинации HTTP метода и URL. После управление переходит в выбранный контроллер, в соответствующий метод (action), который в свою очередь рендерит ответ (JSON или HTML, например) и отдает его клиенту (обратно через application-server и web-server).