前言
DNS解析时间可能导致大量用户感知延迟,DNS解析所需的时间差异非常大,延迟范围可以从1ms(本地缓存结果)到普遍的几秒钟时间。所以利用DNS预解析是有意义的。
DNS与域名解析
DNS
全称为Domain Name System
,即域名系统,是域名和IP地址相互映射的一个分布式数据库。
域名解析即通过主机名,最终得到该主机名对应的IP地址的过程。
浏览器对网站第一次的域名DNS解析查找流程依次为:
浏览器缓存-系统缓存-路由器缓存-ISP DNS缓存-递归搜索
此前写过一篇【技术贴】IOS如何下载旧版本应用APP:http://www.xuanfengge.com/ios-how-to-download-old-app.html
文章相对来说比较复杂,特别是查找版本ID对应的步骤,这里推荐使用另一种方案,操作起来更简单。
本文介绍如何使用Workflow及Fiddler下载IOS旧版本APP应用。
主要分为以下三步:
最近把Chrome升级到58以上的版本,发现使用Fiddler不能抓HTTPS的包,会提示“隐私设置错误”、“您的连接不是私密连接”错误。
在尝试各种方案修复之后,发现了更多奇葩的问题。
Chrome 58+打开HTTPS网站报错如下:
NET::ERR_CERT_COMMON_NAME_INVALID
Issuer: DO_NOT_TRUST_FiddlerRoot 显然是Fiddler生成的证书在Chrome 58不生效。 查看全文
微信的登录,扫二维码码之后,可以通过微信给的code去获取用户的微信信息,显示出对应的帐号列表(列表页),选择登录之后跳转至相应的页面。
测试的时候发现,如果在跳转后的页面,点击浏览器返回,还是会显示登录帐号列表。这时候登录是会失败的,因为已经登录过,没有了半登录态,应该需要重新扫码登录才行。
所以列表页是完全不能被缓存的,而浏览器的前进后退,默认会从缓存里读取,完全不发请求。
打开Chrome的开发者工具调试的时候发现,如果勾选Network
的Disable cache
,浏览器后退的时候,结果页不会被缓存。如果不勾选则缓存页面。用户是不会主动开启这个选项的,所以需要通过Headers控制页面的缓存。 查看全文