任何一个移动APP项目都离不开网络接入功能,提升网络接入的质量几乎是所有移动项目的需求。很多项目都会引入HTTP DNS作为网络接入最基础也是最重要的优化之一。HTTP DNS的核心是后台下发某个域名对应的最优IP,基础点的可做到就近接入,即下发该域名终端就近地同运营商的IP,好一点的则根据线上用户实际测速数据下发最优的IP。而终端只需在HTTP接入时,将URL中的HOST从域名直接替换为后台下发的IP即可。
IP直连相对于域名接入的好处有:

  • 省去DNS解析这一步,减少耗时
  • 就近接入甚至就快接入,减少耗时
  • 避免DNS劫持
  • 当终端有多个IP接入选择时,有一定容灾能力
    接入时后端常常都会存在转发层做一些诸如负载均衡的工作,由转发层将请求分发到真实服务器。HTTP接入的转发层一般是根据请求头中的HOST字段来转发到各个RS。所以对于HTTP接入,使用IP直连时需要设置一个HOST请求头,值为请求域名,在绝大部分情况下就可以获得上面提到的IP直连的好处。
    但是对于HTTPS接入,情况会变得稍微复杂一些。本文主要是对Android平台使用HttpURLConnection(SDK开发由于包大小的限制,HTTP接入基本只能用这个了…)进行HTTPS IP直连时,遇到的一些问题及其解决方法的小结。

更多请参考:http://blog.csdn.net/leelit/article/details/77829196