Windows 网络编程常用的API库有Winsock,Wininet 和 Urlmon。Winsock 实现了基本的套接字(socket)功能, 而 wininet 和 urlmon在winsock 的基础上封装了HTTP, FTP, WWW 的协议。 这篇文章 《Under the Hood: WinINet》(http://blogs.technet.com/askperf/archive/2007/08/21/under-the-hood-wininet.aspx) 可以很好帮助了解wininet 和 urlmon 的功能和区别。
wininet.dll
Caching, History, Cookie Management
Authentication - Basic, NTLM, Kerberos
Connections - Both secure (schannel) and non-secure
Dial-up, Direct, Proxy
Protocol and HTTP header management
urlmon.dll
Authentication - Basic, NTLM, Kerberos
Connections - Both secure (schannel) and non-secure
Dial-up, Direct, Proxy
Protocol and HTTP header management
urlmon.dll
URL Parsing – breaking down URLs into the protocol used (HTTP, HTTPS, FTP, File, Gopher), address, and target.
GZIP compression/decompression – provides support for GZIP HTTP compression to deflate and inflate data. IE6 and IE7 handle this slightly differently. In IE7 this functionality is handled by WinINet.
Security and Zone Management – Identifies security zones, zone crossings, permissions, etc.
Asynchronous Pluggable Protocol Filter/Handler – correlates appropriate the protocol to the registered handler (HTTP, HTTPS, MAILTO, FILE, etc.).
Code Download Management, Install On Demand, and Just-In-Time.
Forms requests from the URL – creates the outbound data package and hands it off to WININET for transfer.
MIME (Multipurpose Internet Mail Extension) type management – examines the MIME type for data returned in an HTTP response and correlates that type with a specific handler. For example, URLMON would open a Microsoft Word document (MIME type .doc) with Microsoft Word. If the MIME type is not clear from the response, URLMON is capable of examining the binary data to determine the appropriate MIME type. MIME is described more thoroughly in RFC1521.
GZIP compression/decompression – provides support for GZIP HTTP compression to deflate and inflate data. IE6 and IE7 handle this slightly differently. In IE7 this functionality is handled by WinINet.
Security and Zone Management – Identifies security zones, zone crossings, permissions, etc.
Asynchronous Pluggable Protocol Filter/Handler – correlates appropriate the protocol to the registered handler (HTTP, HTTPS, MAILTO, FILE, etc.).
Code Download Management, Install On Demand, and Just-In-Time.
Forms requests from the URL – creates the outbound data package and hands it off to WININET for transfer.
MIME (Multipurpose Internet Mail Extension) type management – examines the MIME type for data returned in an HTTP response and correlates that type with a specific handler. For example, URLMON would open a Microsoft Word document (MIME type .doc) with Microsoft Word. If the MIME type is not clear from the response, URLMON is capable of examining the binary data to determine the appropriate MIME type. MIME is described more thoroughly in RFC1521.
本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/273684,如需转载请自行联系原作者