从点击到呈现 — 详解一次HTTP请求(2)

上回说道服务器启动了监听服务,准备迎接来自客户机的请求。那么,我们以一次典型的浏览请求来解析: 当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,对于 google chrome 那种变态的浏览器,他甚至会直接从缓存中把网页展示出来,就是说,你还没有按下 enter,页面就出来了,这个过于奇葩,我们不详细讲。 在例如输入了 baidu 或者 qq 之类的域名后,我们可以按下 ctrl + enter ,来自动补全,生成 qq.com 或者 baidu.com 的网址,然后发起请求。请求一旦发起,浏览器首先要做的事情就是解析这个域名,一般来说,浏览器会首先查看本地硬盘的 hosts 文件,看看其中有没有和这个域名对应的规则,如果有的话就直接使用 hosts 文件里面的 ip 地址,说道这里,大家可能想到,这个地方就存在安全隐患了,如果有病毒把一些常用的域名,修改 hosts  文件,指向一些恶意的 ip,那么浏览器也会不加判断的去连接,是的,这正是很多病毒的惯用手法。 如果在本地的 hosts 文件没有能够找到对应的 ip 地址,浏览器会向 dns 域名解析服务器发起域名解析请求,dns 的域名解析是递归的,(还有另外 dns … Continue reading 从点击到呈现 — 详解一次HTTP请求(2)