[IE编程] 了解Urlmon.dll和Wininet.dll

简介:
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.
 


 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/273684,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
阿里通义千问大语言模型在人工智能教育领域的应用探索
阿里通义千问,阿里集团的大型预训练语言模型,应用于AI教育,实现个性化教学、自适应学习系统和智能答疑。通过AIGC,它生成个性化内容,适应不同学生需求,优化教育资源配置,推动教育创新。在教育场景中,模型提供实时反馈,定制学习路径,促进教学质量提升。随着技术进步,AI在教育领域的应用将更加深入,但也需关注伦理与安全。
3221 1
|
开发工具 git C++
『实用教程』使用Visual Studio自带的Git管理回滚代码版本
使用Visual Studio自带的Git管理回滚代码版本
2068 0
『实用教程』使用Visual Studio自带的Git管理回滚代码版本
|
人工智能 自然语言处理 文字识别
社区供稿 | 元象首个多模态大模型XVERSE-V开源,刷新权威大模型榜单,支持任意宽高比输入
元象公司发布了开源多模态大模型XVERSE-V,该模型在图像输入的宽高比方面具有灵活性,并在多项评测中展现出优越性能,超越了包括谷歌在内的多个知名模型。XVERSE-V采用创新方法结合全局和局部图像信息,适用于高清全景图识别、文字检测等任务,且已在Hugging Face、ModelScope和GitHub上开放下载。此外,模型在视障场景、内容创作、教育解题、百科问答和代码生成等领域有广泛应用,并在VizWiz等测试集中表现出色。元象致力于推动AI技术的普惠,支持中小企业、研究者和开发者进行研发和应用创新。
|
Java Windows
【报错】java -jar 命令启动后中文乱码
在Windows上运行jar包遇到乱码问题,包括DOS窗口日志乱码和程序数据乱码。解决方法:1) 使用`chcp 65001`命令切换控制台到UTF-8编码显示日志;2) 运行jar时指定编码,如`java -Dfile.encoding=utf-8 -jar xxx.jar`,确保数据解码正确。
2224 1
|
uml C++
VS工具使用——代码生成函数关系图
小引: 在上篇文章《VS工具使用——代码图》中,我向大家介绍了我对工具“代码图”的发现和认识。真是感觉当自己的眼睛不再被蒙蔽的时候,会发现整个世界的美好。所以,这次要向大家介绍我对VS中的另一个容易被忽视的工具—— 自动生成代码关系依赖图的理解。
905 0
|
API Windows
[笔记]Windows核心编程《番外篇》常用的NT API及使用示例
Windows核心编程《番外篇》常用的NT API及使用示例
1365 0
[笔记]Windows核心编程《番外篇》常用的NT API及使用示例
|
算法 数据可视化
图解集成学习中的梯度提升思想
本文讲述集成学习中的梯度提升方法的思想,以简单算术及图片的形式展示整个过程,一看就懂!
2646 0
|
1天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1052 0
|
10天前
|
人工智能 运维 安全
|
1天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
239 0