WinHTTP的全称是Microsoft Windows HTTP Services, 它提供给开发者一个HTTP客户端应用程序接口(API), 通过这种API借助HTTP协议给其他的HTTP服务器发送请求.
WinHTTP支持桌面应用程序, Windows系统服务, 和Windows服务器端应用程序.
对于基于Microsoft .NET Framework的应用程序, 不推荐使用WinHTTP服务, 因为.NET Framework应用程序应该使用在System.Net命名空间下的网络基础设施类型.
WinHTTP提供了两种编程方式, 一种是CC++的API, 另一种是COM组件.
WinHTTP与WinINet的区别
================
WinHTTP被设计为主要应用在服务器端应用程序的场景下, 让服务器端应用程序访问HTTP服务器.
WinINet是一种更老的技术, 它被设计为一个HTTP客户端平台, 用于交互式桌面应用程序, 比如说IE, Office等.
服务器端应用程序要求HTTP客户端服务使用WinHTTP而不是WinINet.
WinHTTP和WinINet在微软是由不同的团队来提供支持的.
WinHTTP与Proxy
================
如果HTTP Proxy需要认证(authentication), 那么HTTP Application会收到407(proxy requires authentication). 除了这个状态码, 代理服务器还会发送一个或更多的authenticate headers: "Proxy-Authenticate". 这些信息足够我们work monitor trace中鉴定HTTP无法访问是否是由于proxy需要认证引起的了.
WinHTTP的proxy配置是存储在注册表键
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion SettingsConnectionsWinHttpSettings
当中的, 修改和查看需要使用一个命令行工具proxycfg.
实际上, 通过代理来使用WinHTTP访问HTTP和HTTPS的主机有两种方式.
WinHTTP和System.Net中的类在配置代理时的区别
===============
上面讲到过, 如果应用程序是基于 framework的, 那么并不推荐使用WinHTTP来作为http客户端, 推荐使用的是System.Net中的类型. WinHTTP可以用上面的代码或proxycfg来配置, System.Net下的类型靠啥来配置呢?
答案是靠config文件. .Net Framework使用标准的XML文件作为配置文件, 存放配置信息. 可执行文件有.config文件, 站点有web.config文件.
config文件中的<system.Net>元素中包含有指定 framework如何连接网络的配置信息. 其中的<defaultProxy>元素包含的就是HTTP代理服务器的配置. 这个元素有三个子元素:
举例
<configuration> <> <defaultProxy> <bypasslist> <add address="[a-z]+.contoso$" /> <add address="192.168.d{1,3}.d{1,3}" /> </bypasslist> </defaultProxy> </> </configuration>参考资料:
Windows HTTP Services
/en-us/library/aa384273%28v=VS.85%29.aspx
ProxyCFG on Win2003 和 NetSH on Win2008
/awpatp/archive/2010/05/13/1734762.html
Using the WinHTTP Proxy Configuration Utility
/en-us/library/ms761351%28VS.85%29.aspx
ProxyCfg.exe, a Proxy Configuration Tool
/en-us/library/aa384069%28v=VS.85%29.aspx
<bypasslist> Element (Network Settings)
/en-us/library/31465c77.aspx
今天父亲节我们有没有陪伴家人一起吃个饭,还是打个电话问候一下。前一段时间同学将网站账户给我说可以有空更新点信息确保他在没有时间的时候还能保持网站有一定的更新内容。不过,他这个网站之前采用的主题也不知道来源哪里,总之各种不合适,文件中很多都是他多年来手工修改的主题拼接的,并非完全适应WordPress已有的函数,有些函数还不兼容最新的PHP版本,于是每次出现问题都要去排查。于是和他商量后,就抽时间把...
这两天在站长群里看到不少有使用DEDECMS织梦程序的朋友比较着急,因为前两天有看到来自DEDECMS,我们熟悉的织梦程序官方发布的公告,将会在10月25日开始全面商业用途的使用DEDECMS内容管理程序的会采用授权收费模式,如果我们有在个人或者企业商业用途的,需要联系且得到授权才可以使用,否则后面会通过维权的方式。对于这个事情,我们可能有些站长经历过,比如字体、图片的版权。以及有一些国内的CMS...
第一、香港服务器机房这里我们可以看到有提供四个大带宽方案,是全向带宽和国际带宽,前者适合除了中国大陆地区的全网地区用户可以用,后者国际带宽适合欧美地区业务。如果我们是需要大陆地区速度CN2优化的,那就需要选择常规的优化带宽方案,参考这里。CPU内存硬盘带宽流量价格选择E3-12308GB240GB SSD50M全向带宽不限999元/月方案选择E3-12308GB240GB SSD100M国际带宽不...