网页浏览过程

网站监测的明星指标
1.可用性
2.响应时间(8秒或4秒)
3.首屏响应时间

网站浏览过程简介

从输入url开始
1.解析域名获得服务器IP
浏览器本身是可以缓存dns域名解析的
查询系统界别的dns缓存
查询本机hosts记录
dns服务器发出递归查询请求
2.连接服务器

在获得最终服务器IP后,与该IP的网页服务端口(http的80)建立tcp连接

3.发送请求
成功连接上对应端口之后,浏览器开始发送http请求。
http请求包括请求方法,url和协议版本三个最基本的要素,以及种类繁多的各式http header。
一个http请求实例
 
GET /ga.js HTTP/1.1
Host:
www.baidu.com
文件位于虚拟主机名www.baidu.com下
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
 
本次请求响应完成后,所建立的连接继续保持,以便下次请求继续使用
Referer: http://stackoverflow.com/

本次请求是由http://stackoverflow.com/页面引入

If-Modified-Since: Mon, 31 Aug 2009 17:13:58 GMT

客户端本地已经有一个缓存的副本,其最后修改时间为 Mon, 31 Aug 2009 17:13:58 GMT

If-None-Match:“737060cd8c284d8af7ad3082”  

客户端本地已经有一个缓存的副本,其Etag值为737060cd8c284d8af7ad3082

Cookie:PHPSESSIONID=123456789

客户端在之前的请求响应中,已经收到过服务器返回的set-cookie结果为PHPSESSIONID=123456789

X-Forwarded-For:129.78.138.66,129.78.64.103

客户端请求在到达服务器之前已经经过了failing服务器,IP为129.78.138.66,129.78.64.103

4.等待响应
动态页面的内容,需要服务器端进行数据库查询等复杂操作
静态内容,需要服务器进行磁盘寻到读取
代理服务器或挂在nfs文件系统需要消耗内部网络交互
第一字节响应时间或首保响应时间
5.传输响应内容

取决网络状况 

6.浏览器渲染处理
浏览器接受完全部响应内容后开始在本地进行渲染
html文件,相当快速,dns解析并稍后开始建立连接
css/js文件,需要在浏览器上编译运行的
浏览器渲染是单线程的,css和js的执行都会阻塞整个页面的效果
 
7.并发请求
dns解析并稍后开始建立连接,建立连接在浏览器端是可以并发进行和控制的
                                    http1.1                        http1.0
IE6,7                                 2                                4
IE8                                   6                                   6
firefox3                          6                                   6        
chrome3                           4                                4            
原文地址:https://www.cnblogs.com/muzinan110/p/5013081.html