缘起:无线时代,网络稳定性差,应用流量敏感,APP与server之间每次HTTP请求都需要DNS解析,有没有优化方法呢?

一、PC时代,HTTP请求处理过程

image.png

(1)浏览器、或者PC客户端访问DNS服务器,由域名拿到IP(一般来说是个nginx的IP)

(2)浏览器、或者PC客户端用IP访问nginx

(3)nginx将请求分发给实际处理HTTP请求的web-server

二、无线APP时代的特点

(1)DNS解析的时间不能忽略

(2)一旦DNS被劫持,整个APP就挂了(还记得N年前baidu的域名被劫持的事情么?)

三、一种不需要DNS解析的HTTP请求优化方案

image.png

(1)第一次访问时,先拉取server的ip-list保存到本地,访问过程与普通HTTP访问过程相同

(2)未来访问时,客户端直接使用ip-list中的IP来访问server,不再需要DNS

收藏 打印