手记

打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?

一,输入URL(统一资源定位符)

  • 输入baidu.com

二, 域名解析

  • 浏览器缓存——浏览器有百度DNS则会缓存DNS,若没有转至下面。

  • 系统缓存——从Host文件中查找对应的百度域名和IP,若没有转至下面。

  • 路由器缓存——路由器也会缓存部分DNS,查找是否有百度域名和IP。

  • ISP DNS 缓存——例如电信的DNS缓存。

  • 以上都没有的情况则向根域名服务器查域名对应IP,根域名服务器将请求转至下一级,直至找到IP。

(DNS 劫持:指的是给了一个假IP但域名却是一样的。)

三,服务器处理

服务器指的是安装系统的机器。web服务器接受用户的请求,并交给网站代码。

四,网站处理

  • 模型(model)——视图(view)——控制器(control)


    MVC结构

五,浏览器处理

HTML字符串被浏览器接受后被一句句读取解析:

  • 解析到link 标签后重新发送请求获取css

  • 解析到 script标签后发送请求获取 js,并执行代码

  • 解析到img 标签后发送请求获取图片资源

六,绘制网页

  • 浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上js 会被执行



作者:徐金俊
链接:https://www.jianshu.com/p/5822e8f0faf2


0人推荐
随时随地看视频
慕课网APP