diff --git "a/\347\254\224\350\256\260/\350\276\223\345\205\245\347\275\221\345\235\200\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" "b/\347\254\224\350\256\260/\350\276\223\345\205\245\347\275\221\345\235\200\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" index 05ea6daefa499c2f8d039027167b0a26f583ebaf..8e28b0abf6951e1cef1c3deb555e600dc6402fdd 100644 --- "a/\347\254\224\350\256\260/\350\276\223\345\205\245\347\275\221\345\235\200\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" +++ "b/\347\254\224\350\256\260/\350\276\223\345\205\245\347\275\221\345\235\200\345\220\216\345\217\221\347\224\237\344\272\206\344\273\200\344\271\210.md" @@ -4,7 +4,7 @@ ## 2.浏览器查找域名对应IP ## ### 2.1 DNS查找过程:   浏览器缓存——浏览器会记录DNS一段时间(2-30分钟不等,视浏览器而定) -  系统缓存——浏览器里没找到DNS缓存,此事浏览器做一个系统调用(window下是gethostbyname)。如发现匹配则采用。(与此对应有host恶意劫持更改攻击) +  系统缓存——浏览器里没找到DNS缓存,此时浏览器做一个系统调用(window下是gethostbyname)。如发现匹配则采用。(与此对应有host恶意劫持更改攻击)   路由器缓存——路由器也会有DNS缓存(缓存你上过的网站,所以有时路由器需要进行DNS刷新)   ISP DNS缓存——接下来是在ISP(互联网服务提供商)的DNS服务器的缓存上查找。   递归查找——DNS缓存里没有的话,ISP DNS服务器会先后从根域名服务器(root)、.com顶级域名服务器、Facebook域名服务器获取IP(一般缓存内都会有,所以这一步一般不会发生) @@ -93,4 +93,4 @@   浏览器执行特定的JS代码会给服务器发送异步请求,获取最新的动态消息,使得页面能保持较新的状态。   HTTP是一个请求-响应协议,只有在客户端发送请求,服务器端才能做出响应,而不能主动把消息或者文档发给客户所以,要想保持页面处于最新的状态,需要定时进行轮询(定时发送AJAX请求以更新页面内容)   AJAX请求十分容易更改,且用户十分容易自己制造和发送AJAX请求,所以没有验证码的没有IP限制条件的投票就是一个小游戏了(参照工作室两次刷票:自己定义IP,自己定时发送AJAX请求,然后票就哗哗的上了)。 -  优化小方案:如果服务器被轮询时没有新消息,它就不理这个客户端。而当请求尚未超时的情况下如果收到了该客户的新消息,服务器就找到未完成的请求,把新消息作为响应发送给客户端(这样就无需频繁地响应请求了) \ No newline at end of file +  优化小方案:如果服务器被轮询时没有新消息,它就不理这个客户端。而当请求尚未超时的情况下如果收到了该客户的新消息,服务器就找到未完成的请求,把新消息作为响应发送给客户端(这样就无需频繁地响应请求了)