1 在接收到用户输入的网址后,浏览器会开启一个县城来处理这个请求,对用户输入的URL
地址进行分析判断,如果是HTTP
协议就按照 HTTP
方式来处理。
2 调用浏览器引擎中的对应方法,比如WebView
中的loadUrl
方法,分析并加载这个URL
地址。
3 通过DNS
解析获取该网站对应的IP
地址,查询完成后联同浏览器的COOKIE
、userAgent
等信息向网站目的IP
发出GET
请求。
4 进行HTTP
协议会话,浏览器客户端向Web
服务器发送报文。
5 进入网站后台的Web
服务器处理请求,如Apache
、Tomcat
、Node.js
等服务器。
6 进入部署好的后端应用,如PHP
、Java
、Javascript
、Python
等后端程序,找到对应的请求处理逻辑,这期间可能会读取服务器缓存或查询数据库。
7 服务器处理请求并返回响应报文,此时如果浏览器访问过该页面,缓存上有对应的资源,会与服务器最后修改记录对比,一致则返回304
,否则返回200
和对应的内容。
7 浏览器开始下载HTML
文档(响应报头状态码为200
时)或者从本地缓存读取文件内容(浏览器缓存有效或响应报头状态码为304
时)。
8 浏览器根据下载接收到的HTML
文件解析结构建立DOM
(Document Object Model
,文档对象模型)文档树,并根据HTML
中的标记请求下载指定的MIME
类型文件(如CSS
、Javascript
脚本等),同时设置缓存等内容。
9 页面开始解析渲染DOM
,CSS
根据规则解析并结合DOM
文档树进行网页内容布局和绘制渲染,Javascript
提供DOM API
操作 DOM
,并读取浏览器缓存、执行事件绑定等,页面整个展示过程完成。