zoukankan      html  css  js  c++  java
  • 网页浏览过程

    网站监测的明星指标
    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            
  • 相关阅读:
    Homework
    自我介绍,恩。。算是吧
    What ASP.NET Developers Should Know About JavaScript
    短信猫软件的C#实现系列文章
    装箱与拆箱
    HTML的基本标签
    CSS基础用法
    ajaxToolkit:AutoCompleteExtender 用法详解
    比较强大的分页存储过程
    不知道写点什么
  • 原文地址:https://www.cnblogs.com/muzinan110/p/5013081.html
Copyright © 2011-2022 走看看