Задать вопрос

Что происходит при запросе к веб-серверу?

Хочется где-то посмотреть краткую инструкцию для новичков на пальцах типа:
Приходит запрос по http к DNS, DNS преобразовывает в ip по ip находится сервер, на сервере срабатывает апач и смотрит порт запроса, апач запускает php-интерпретатор, тот интерпретирует файл и т.д.

Особенно интересует как меняется порядок обработки запросов если на сервере не apache а ещё nginx, или только nginx или вместо apache php-fpm или hhvm
  • Вопрос задан
  • 1948 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
итак, поскольку у нас слишком много вариантов "как оно может быть", мы должны разбить все на следующие вопросы:

1) как запрос идет от браузера к http серверу. В этом плане мы будем рассматривать apache как черный ящик. В этом плане разницы между apache, nginx, lighttpd и т.д. мы не увидим.

тут можно либо погуглить в общем, либо и этот впрос разбить на: почитать про DNS, прочитать про HTTP (это вообще разные вещи). Паралельно было бы неплохо почитать про стэк TCP/IP в общем, и разобраться что такое TCP и что такое UDP.

2) Далее, в случае с PHP, мы должны почитать про PHP SAPI. То есть в случае с apache у нас SAPI предоставляется модулем apache2-mod-php и тд. а php-fpm уже самодостаточный сервер и менеджер php процессов, который так же предоставляет свое SAPI. По сути это та штука, которая "разбирает" и готовит запрос для php. Ну и да, стоит сказать что уже есть HTTP сервера на PHP (как альтернатива php-fpm), это и ayres и php-pm и reactphp... и судя по динамиче это будет все больше развиваться.

3) как -только мы разобрались как работает браузер с web-сервером, и как php обрабатывает http, мы должны уже исходить из конкретной связки что бы понять как web-сервер работает с php. Предыдущий пункт с большего это покрывает, особенно в случае с apache. Но вот php-fpm самодостаточная штука, и ей ничего не нужно. А стало быть nginx просто будет проксировать запросы на php-fpm.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы