Реализация http.sys

Мы все знаем, что в нашей Windows есть большой приятный бинарный файл с именем драйвера режима ядра http.sys, который выполняет HTTP-обработку для нас. Это в основном все, что мы знаем об этом.

Но сегодня я подумал: эй, все наши сетевые вещи, такие как TCP/IP и еще много чего, здесь, в пользовательском пространстве - провайдеры ws2_32.dll (в mswsock.dll) и все его друзья. Поскольку существуют пользовательские компоненты, http.sys не может их использовать. Вопрос: как они это делают? Любые информационные ссылки будут с благодарностью.

3 ответа

Я полагаю, что HTTP.SYS использует сокеты ядра Windows для достижения своих целей. Смотрите здесь также.

Нашел хороший ответ на вопрос здесь: http://www.codemachine.com/article_tdi.html

Похоже, что в Windows есть гораздо больше возможностей, чем показывает нам Winsock.

http.sys предназначен только для использования в качестве серверного компонента для прослушивания HTTP/HTTPS-запросов - в основном IIS зависит от него для достижения хорошей производительности. Он не используется для выполнения каких-либо клиентских запросов с использованием библиотеки Winsock. Вы можете прочитать больше здесь.

Другие вопросы по тегам