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
- 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.
本文探讨了Windows网络编程中常用的API库Winsock、Wininet和Urlmon,重点介绍了Wininet.dll的缓存、历史记录、身份验证等功能,以及Urlmon.dll的URL解析、GZIP压缩、安全区管理和异步协议处理等特性。
778

被折叠的 条评论
为什么被折叠?



