美文网首页
浅述从输入网址到网页呈现的过程

浅述从输入网址到网页呈现的过程

作者: 礼知白 | 来源:发表于2017-09-30 01:33 被阅读0次

    这是一道非常经典的面试题,需要对网络应用是如何工作有一个层次化的认知,涉及到浏览器、HTTP协议、网络服务器等相关知识。在这里只发表下个人初步的理解。

    • 在浏览器地址栏输入目标网站的URL
      例如: https://www.baidu.com/

      其中,https:// 代表使用ssl传输的超文本传输协议,www.baidu.com 代表域名。
    • 域名解析,查找域名对应的IP地址
      1.浏览器缓存——浏览器会缓存DNS记录一段时间。
      2.系统缓存——如果在浏览器缓存里没有找到需要的记录,浏览器会调用系统缓存中的记录(windows系统存储在host文件中)。
      3.路由器缓存——将查询请求发向路由器,一般会有自己的DNS缓存。
      4.ISP DNS 缓存——即向互联网服务提供商(电信、联通等)查找。
      5.如果经历以上四步还无法找到对应IP,则向根域名服务器查找域名对应IP地址。根域名服务器把请求转发到下一级,直到找到对应IP。

    • 与服务器建立连接并给web服务器发送一个HTTP请求
      浏览器根据连接到web服务器(一般为TCP/IP协议),向服务器发送请求,发送请求的过程中,浏览器会向Web服务器以Stream(流)的形式传输数据,告诉Web服务器要访问服务器里面的哪个Web应用下的Web资源。

    • 服务器处理请求
      服务器(常见的有 ApacheNginx、IIS、Lighttpd)接收到浏览器传输的数据后,开始解析接收到的数据,生成HTML文件并返回给浏览器。

    • 浏览器处理
      HTML字符串被浏览器接受后被一句句读取解析。
      解析到link标签后重新发送请求获取css
      解析到script标签后发送请求获取js,并执行代码
      解析到img标签后发送请求获取图片资源
      浏览器根据HTMLCSS计算得到渲染树,绘制到屏幕上,js会被执行。

    相关文章

      网友评论

          本文标题:浅述从输入网址到网页呈现的过程

          本文链接:https://www.haomeiwen.com/subject/mriyextx.html