Я хотел бы понять, как веб-серверы обрабатывают большое количество одновременных HTTP-запросов и ответов. Пожалуйста, имейте в виду, я новичок в сетевом программировании.HTTP-связь на порту 80
Может ли веб-сервер одновременно отправлять несколько HTTP-ответов на порт 80? Или ответы должны быть «сериализованы»?
Получает ли веб-сервер запросы по порядку? Если это так, то вставка в очередь приоритетов, вероятно, должна быть быстрой.
Будет ли epoll эквивалентом Linux для IHttpAsyncHandler в ASP.NET? – SundayMonday
@MrMusic Пока я не эксперт в области сетей Linux, я считаю, что epoll более похож на порты завершения ввода-вывода в Windows. Веб-сервер, такой как Apache или IIS, будет использовать порты завершения epoll или ввода-вывода для асинхронного чтения данных из сетевого сокета. Обычно существует модель приложения, работающая на веб-сервере (например, PHP-модуль в Apache или ASP.NET в IIS). Некоторые из моделей приложений позволяют «отпустить» поток обратно в threadpool при обработке запроса сервера. Node.js - пример сервера, который пытается сделать все, что угодно, асинхронно. –