Ingernirated
@Ingernirated
Романыч

Все http сервера в большинстве не многопоточные?

Доброй ночи.
Сервера, которые пишут на пхп, которые мы получаем из джанго или фласка, они не многопоточные?
Т.е. для высоконагруженных серверов, которые работают по http это не надо, это исключительно для игровых серверов или скачиваний файлов с сайта надо?
  • Вопрос задан
  • 550 просмотров
Решения вопроса 2
@OlegPyatakov
pyatakov.com
Надо различать http-сервер и веб-приложение. Http-сервер - это программа, которая непосредственно получает сетевые запросы и потом, если надо, отдает на исполнение в веб-приложение.

Все популярные http-серверы (Nginx, Apache, Caddy) реализуют многозадачность в том или ином виде (потоки, асинхронность и т.д.). При обработке нескольких запросов http-сервер запускает несколько копий веб-приложения, которое, обычно, однопоточное, но может реализовывать потоки средствами языка.

В веб фреймворках (Flask, Django) есть возможность поднять http-сервер, но он, как правило, предназначен только для разработки, а не для реальных приложений. Например, базовый http-сервер во Flask - однозадачный, он не умеет обрабатывать несколько запросов параллельно.

Тем не менее, в скриптовых языках могут быть production-ready http-серверы, которые в том числе реализуют многозадачность. Так, на Python есть Waitress и Gunicorn.
Ответ написан
Комментировать
@lotse8
Сервер здесь вообще не причем. Читайте спецификацию http протокола, там все ясно расписано. Сейчас все переходят на https - почитайте его спецификацию тоже. Многое станет понятным.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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