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详解
本文详细介绍了Windows网络编程中常用的API库Winsock、Wininet和Urlmon的功能与区别。Winsock实现了基本的套接字功能,而Wininet和Urlmon在此基础上提供了HTTP、FTP和WWW等协议的支持。此外,还深入探讨了wininet.dll和urlmon.dll提供的具体功能和服务。
777

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



