更新知识库:WinHttpConnect 并不 TCP Connect 和 Punycode

原创
2018/04/18 22:47
阅读数 295

  最近开发 WCS go SDK,用 go 的 http client 觉得十分便捷,前几天在调试过程中,突然想起很多年前用 WinHttp API 写的一个下载程序,当时看到 WinHttpConnect 顾名思义就以为调完这个 API 后应该有 TCP 连接,现在仔细思考后觉得不合理,于是打开那个代码研究一下,果然以前想当然是错的!

  用 TcpView 和 Microsoft Network Monitor 抓包,都没发现 WinHttpConnect 成功之后有任何 TCP 连接。

  回头去看 MSDN 的描述,果然从头到尾没提到 TCP 连接。不过意外在文档里学到了一个新知识:Punycode,其实是老知识,以前没去深挖,熟视无睹而已。所有中文域名的解析都需要转成 punycode 码,然后由 DNS 解析 punycode 码。目前所说和各种浏览器完美支持中文域名,只是浏览器软件里面主动加入了中文域名自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部