Реализация 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. Вы можете прочитать больше здесь.