
Я просто подумал, что если приложение вроде rails или laravel может получать запросы от разных серверных приложений вроде apache или nginx, то должен же быть какой-то формат запроса, которому следуют серверы, чтобы обслуживать запросы к приложениям?
Какой это формат?
Или я неправильно это понимаю?
решение1
Вы не ошибаетесь в этом, у вас правильная идея!
Есть несколько способов сделать это:
- Скрипты CGI: веб-сервер устанавливает переменные, выполняет приложение для каждого запроса, передает тело запроса на stdin и ожидает http-ответ на stdout
- Проксирование: приложение является собственным веб-сервером, а nginx/apache просто проксируют его.
- uwsgi/fastcgi: приложение и Apache взаимодействуют через сокет, используя специальный протокол для передачи информации запроса/ответа
- встроенные модули (например, mod_php в Apache): веб-сервер встраивает интерпретатор языка вашего скрипта.
решение2
Я думаю, что термин, который вы ищете, — это SAPI (Server Application Interface) в общем смысле, ISAPI (IIS) и NSAPI (Netscape, если они еще существуют?) в частности.
Ознакомьтесь с этим ответом на вопрос, касающийся конкретного языка (PHP), о том, как все это работает -https://stackoverflow.com/a/38669983/6867430