面试经常考的题目之一
URL 输入到页面流程:
- 在浏览器输入URL
- 域名解析
- 服务器处理
- 网站处理
- 浏览器处理
- 绘制网页
1. 在浏览器输入URL:
URL(Uniform Resource Locator)统一资源定位器,是计算机Web网络相关的术语,就是网页地址的意思。
URL四中协议
- HTTP
- HTTPS
- FTP
- FILE
一般来说,https开头的URL要比http开头的更安全,因为这样的URL传输信息是采用了加密技术。如果您有使用支付宝或者网银的经历就会发现,当您访问这些加密过的网页时,浏览器的地址栏里显示的URL是以https开头的。
2. 域名解析:
查找URL网站所在服务器的IP地址
IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。
域名解析的流程
- 浏览器缓存 – 浏览器会缓存DNS记录一段时间
- 系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
- 路由器缓存 – 一般路由器也会缓存域名信息。
- ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
- 如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服 务器把请求转发到下一级,直到找到 IP
3. 服务器处理
服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012。系统里安装的处理请求的应用叫 Web server
web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器
4. 网站处理
MVC 模型(model)-视图(view)-控制器(controller)
5. 浏览器处理
HTML字符串被浏览器接受后被一句句读取解析
解析到link 标签后重新发送请求获取css
解析到 script标签后发送请求获取 js,并执行代码
解析到img 标签后发送请求获取图片资源
6.绘制网页
浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上
js 会被执行