Подтвердить что ты не робот

Весь HTTP-трафик проходит через HTTP.SYS в Windows?

Я знаю, что Microsoft создала HTTP.SYS для повышения производительности IIS. Мой вопрос, правда ли, что HTTP.SYS обрабатывает HTTP-трафик для всех приложений? Например, если JVM использует Winsock для получения HTTP-трафика, HTTP.SYS прозрачно передает эти данные через Winsock API? Или Winsock был заменен HTTP.SYS на более новые ядра Windows?

Microsoft не совсем поняла об этом в своих документах, насколько я могу судить.

4b9b3361

Ответ 1

Приложения могут использовать http.sys. Они могут выбирать для реализации своих собственных обработчиков протокола HTTP.

Настоятельно рекомендуется, чтобы приложения использовали http.sys по соображениям безопасности - HTTP-сервер, реализованный с помощью http.sys, довольно хорошо затвердел, а другие HTTP-серверы могут создавать дефекты безопасности.

Насколько я знаю, HTTP.SYS говорит о стеке TCP, а не NDIS (иначе ему пришлось бы реализовать весь TCP внутри, и это не имеет большого смысла).

Ответ 2

Winsock - это уровень сокета, ниже HTTP, поэтому я не думаю, что он проходит через Http.Sys.

Internet Explorer использует связь Wininet для HTTP, которая при использовании Vista не использовала Http.sys.

edit Я думаю, что книга "Windows Internals" ответит на ваш вопрос.