网页的背后——从 URL 输入到页面展现发生了什么

  1. 输入URL
  2. 域名解析
    域名解析其实就是将域名转换为IP地址,其流程为:
  • 浏览器缓存:浏览器会缓存DNS记录一段时间
  • 系统缓存 :从 Hosts 文件查找是否有该域名和对应 IP
  • 路由器缓存 :一般路由器也会缓存域名信息
  • ISP DNS 缓存:比如到电信的 DNS 上查找缓存
  • 如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP
  1. 服务器处理
    服务器处理就是根据IP地址找到负责此域名的服务器,服务器将根据其域名分配到相应的文件夹。
  2. 网站处理
    重点是MVC流程,即模型(model)-视图(view)-控制器(controller),控制器从模型处得到数据库中对应的数据,并将数据填入视图,得到html文件。

    附图:
  3. 浏览器处理
  • HTML字符串被浏览器接受后被一句句读取解析
  • 解析到link 标签后重新发送请求获取css
  • 解析到 script标签后发送请求获取 js,并执行代码
  • 解析到img 标签后发送请求获取图片资源
  1. 绘制网页
    浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上,并执行JS的相应动作。

推荐阅读更多精彩内容