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和对应的内容。
8、浏览器开始下载HTML文档(响应报头状态码为200时)或者从本地缓存读取文件内容(浏览器缓存有效或响应报头状态码为304时)
9、浏览器根据下载接收到的HTML文件解析结构建立DOM文档树,并根据HTML中的标记请求下载制定的MIME文件(css、js文件等),并同时设置缓存等。
10、页面开始渲染解析DOM,CSS根据规则解析并结合DOM文档进行网页内容布局和绘制渲染,JavaScript根据DOM API进行操作DOM,并读取浏览器缓存执行事件绑定等,页面整个的展示就此完成。
我们经常被问到打开浏览器输入一个网址到页面展示网页内容的这段时间内,浏览器和服务端都发生了什么事情?
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 简评:对于这个经典的问题,本文将不再局限于平常的回答,而是想办法回答地更具体,不遗漏任何细节。根据「What-ha...
- 1、输入地址 在浏览器中输入网址的时,浏览器其实就已经在智能的匹配可能的 url 了,他会从历史记录、书签等地方,...
- 1、输入地址 当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,...