(1)解析前:
1、判断输入的是一个合法的url还是一个待搜索关键词,并且根据你输入的内容进行自动完成、字符编码等操作
2、接着发起真正的URL请求
(2)解析中:
1、浏览器会先查看本地缓存有没有缓存这个资源。有,就直接将数据转发给浏览器进程。没有就走第2步
2、操作系统就查找本地hosts文件,查询有没有对应的IP映射。有,就返回这个ip,完成域名解析没有就走第3步
3、找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。如果没有,就去本地dns服务器上查找。如果本地dns解析不出,直接去询问根dns这个地址谁负责。根dns发现是顶级域名是.com,他就回复本地dns是.com服务器负责,并把.com的ip给本地dns。本地dns就根据ip找到.com服务器。.com发现这是他下级baidu.com管理的,他就回复本地dns这个地址属于baidu.com管理,并把baidu.com的ip给本地dns。本地dns根据ip找到baidu.com服务器。baidu.com发现这是他的下级ta.baidu.com,就告诉本地dns并把该服务器的ip告诉他。本地dns根据ip找到权威ta.baidu.com服务器(该dns服务器下存在很多网址,如www.ta.baidu.com,blog.ta.baidu.com等),询问道,老兄,你知道www.ta.baidu.com对应的ip是啥不?ta.baidu.com经过查询,就回复本地dns说找到了,并把ip返给本地dns。本地dns再把ip返给浏览器
(1)浏览器根据得到的ip向服务器发起tcp连接,与浏览器建立tcp三次握手。
(2)握手成功后,浏览器向服务器发送http请求,请求数据包。
(3)服务器处理收到的请求,将数据返回至浏览器
(4)浏览器收到HTTP响应
(5)读取页面内容,浏览器渲染,解析html源码
(6)生成Dom树、解析css样式、js交互
(7)客户端和服务器交互
(8)ajax查询



