20170712

在浏览器输入url会发生什么?

  1. 浏览器会查看缓存,如果有,检验是否新鲜,如果新鲜。直接提供给客户端,否则与服务器进行验证,检验新鲜的话,有两个http头进行控制,expires和cache-control:max-age=以秒为单位的最大时间
  2. 浏览器解析url获取协议端口主机path
  3. 浏览器组装一个http(get)的请求报文
  4. 浏览器获取主机i地址,其中包括,浏览器缓存,本地缓存,host文件,路由器缓存,ips dns 缓存,dns递归查询
    5.打开一个socket建立tcp链接,开始三次握手
  5. tcp建立以后发送http请求
    7.服务器接受请求并解析,将请求转发到服务程序,如虚拟机使用HTTP Host头部判断请求的服务程序
    8.服务器检查http请求头是否包含缓存验证信息,如果验证缓存新鲜,返回304等对应的状态码
    9.处理程序读取完整的请求病准备HTTP响应,可能需要查询数据库等操作
    10.服务器兑响应报文通过TCP连接发送会浏览器
    11.浏览器接受http响应,然后根据情况选择关闭tcp或者重用,tcp四次挥手
    12.浏览器检查响应代码,比如200,404什么的
  6. 如果资源可缓存,就缓存
    14.对相应进行解码,例如gzip压缩
    15.根据资源类型判断如何处理,;比如html文档
    16.解析html文档.构建dom树 ,下载资源,构造cssom树,执行js脚本,
    17.显示页面

link与@import的区别

link最大限度支持并行下载,@import过多嵌套导致串行下载,出现FOUC

你可能感兴趣的:(20170712)