从输入网址到页面出现
- 在客户端浏览器输入网址URL(资源定位符)
- 查询本机缓存,若没有则向DNS(域名系统)服务器发送DNS请求,获得域名对应的WEB服务器的IP地址
- 客户浏览器与WEB服务器建立TCP(传输控制协议)连接
- 客户端浏览器向对应IP地址的WEB服务器发送相应的HTTP和HTTPS请求
- WEB服务器相应请求,返回指定的URL数据或错误信息,如果设定重定向,则重定向到新的URL地址
- 客户端浏览器下载数据,解析HTML源文件,解析过程实现对页面的排版,即系完成后,在浏览器显示基础页面
- 分析页面中的超链接,显示在当前页面,重复直至没有超链接需要发送,完成显示
具体过程:
-
输入过程智能匹配,给出提示,可以补全url
-
1)发起请求后浏览器先查看本地硬盘hosts文件,有对应规则则直接使用hosts文件里的ip地址
2)本地hosts文件没有能找i到对应ip地址,浏览器发送DNS请求到本地DNS服务器
3)到达本地DNS服务器后,本地DNS服务会首先查询他的缓存记录,如果缓存中有记录,则直接返回结果,递归方式进行查询,没有则向DNS根服务器进行查询
4)根服务器没有记录具体对应关系,告诉本地DNS服务器,向域服务器进行查询,给出域服务器地址,为迭代查询
5)本地DNS服务器向对应域服务器发送请求,域服务器不会直接返回域名和ip地址的对应关系,而使告诉本地DNS服务器域名的解析服务器地址
6)本地DNS服务器向域名的解析服务器发送请求,收到域名和IP地址的对应关系,本地DNS服务器将IP地址返回给用户电脑,并将对应关系保留在缓存中DNS:Domain Name System,域名系统,域名与IP地址相互映射的一个分布式数据库
DNS查询:递归+迭代
递归:一级向下一级,下一级向下下一极…
迭代:一极向下一级,返回结果后一极向下下一极… -
TCP链接建立
获得域名对应IP地址后,浏览器以一个随机端口(1024<<65535)向服务器的WEB程序80端口发起TCP请求,链接请求到达服务器端后,进入网卡,进入内科的TCP/IP协议栈,可能要经过Netfilter防火墙(属于内核模块)过滤,最终到达WEB程序,建立了TCP/IP连接 -
发送HTTP请求
HTTP请求信息:
1.请求方法URI协议/版本
2请求头
3请求正文