Size: a a a

Чат по руби

2020 July 21

FK

Fedor Koshel in Чат по руби
Я там правда еще немного в кишки самого гитлаба залез, так что про то, как происходит обработка запроса внутри сервера можно не читать
источник

HM

Henry Metlov in Чат по руби
пошел к ним работать?
источник

FK

Fedor Koshel in Чат по руби
Не, меня на последнем этапе не взяли
источник

HM

Henry Metlov in Чат по руби
Эх(
источник

P

Paul in Чат по руби
Alex P
Подскажите, на собеседованиях пару раз спрашивали рассказать - как сервер (рубишный) отвечает на запрос браузера.
На уточнение - насколько детально рассказывать? сошлись, что TCP не надо, а вот HTTP, DNS и т.д. - просили.
В целом механизм понимаю, но что-бы все по полочкам разложить - хочется почитать что-то на эту тему, а по каким терминам гуглить - не представляю. Знаете какую нибудь статью хорошую, или слова ключевые?
#хороший_вопрос
Сначала браузер резолвит 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).
источник

BO

Boris O in Чат по руби
Paul
#хороший_вопрос
Сначала браузер резолвит 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).
На собеседования часто хотят услышать слово middleware
источник

P

Paul in Чат по руби
Boris O
На собеседования часто хотят услышать слово middleware
кстати да, у меня спрашивали. добавил в ответ
источник

HM

Henry Metlov in Чат по руби
Paul
#хороший_вопрос
Сначала браузер резолвит 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).
Там на уровне днс еще балансировку делать можно. Когда он один и тот же адрес резолвит в разные IP
источник

HM

Henry Metlov in Чат по руби
Тоже на собесе каком то обсуждали
источник
2020 July 22

Α

ΑΛΉΣΕΡ in Чат по руби
Paul
#хороший_вопрос
Сначала браузер резолвит 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).
Где вы узнали эти подробности?
источник

R

Ro in Чат по руби
Alex P
Подскажите, на собеседованиях пару раз спрашивали рассказать - как сервер (рубишный) отвечает на запрос браузера.
На уточнение - насколько детально рассказывать? сошлись, что TCP не надо, а вот HTTP, DNS и т.д. - просили.
В целом механизм понимаю, но что-бы все по полочкам разложить - хочется почитать что-то на эту тему, а по каким терминам гуглить - не представляю. Знаете какую нибудь статью хорошую, или слова ключевые?
я такой вопрос как раз спрашиваю на интервью в нашей конторе. Ну не совсем такой, похожий
источник

R

Ro in Чат по руби
там на самом деле ответ на час
источник

R

Ro in Чат по руби
просто тестируется насколько ты широко и глубоко понимаешь веб девелопмент
источник

R

Ro in Чат по руби
могу тебя потестить, за 50 баксов устроить сессию на полчаса и за полчаса рассказать что и как отвечать
источник

R

Ro in Чат по руби
дешевле не хочется)
источник

R

Ro in Чат по руби
конечно за час не научишься, но будет представление что учить, куда копать
источник

R

Ro in Чат по руби
запишешь на видео, например
источник

E

EvgeniyR in Чат по руби
скинешь в этот чатик)
источник

SL

Stan Ley in Чат по руби
EvgeniyR
скинешь в этот чатик)
Тоже за $50, чтобы затраты отбить.
источник

D

Dm in Чат по руби
вот вам бесплатно
источник