饥人谷技术博客

从输入URL到页面展现这其中经历了什么?

2019-03-16  本文已影响3人  kiterumer

第一步:在浏览器地址栏输入URL

比如我想访问知乎,我会在地址栏里输入www.zhihu.com,点击回车之后页面变跳转到了知乎的首页。

然而URL是什么呢?

URL:统一资源定位符(Uniform Resouce Location),用于定位互联网上的资源,对应的有常见的几种网络协议,如http,https,ftp,file等。
比如本地的文件定位会用到file协议。

第二步:域名解析

将输入的域名通过DNS解析为IP

  1. 浏览器缓存——浏览器会缓存DNS记录一段时间
  2. 系统缓存——从HOSTS文件查找是否有该域名和对应IP
  3. 路由器缓存——一般路由器也会缓存域名信息
  4. ISP DNS缓存——比如到电信的DNS上查找缓存
  5. 如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器吧请求转发到下一级,直到找到IP

第三步:服务器处理

服务器是一台安装系统的机器,常见的系统有Linux、windows server2012.
系统里安装的处理请求的应用叫Webserver
Web服务器常见的有Apache、Nginx、IIS、lighttpd
Web服务器接受用户的Request请求交给网站代码,或者接受请求反向代理到其他Web服务器
Web服务器相当于一个管控承载站,通过里面已经写好的配置文件,将受到的请求分配到不用的代码文件去处理

第四步:网站处理流程

我们以MVC(Model View Controller)框架来演示大概的处理流程


后台处理流程.png

第五步:浏览器处理并展现

浏览器接受服务器返回的html,并并进行解析加载。

从输入URL到页面载入的流程实际中要复杂的多,很多细节还没有触及到。这其实是一个见不到底的坑,越挖越深

上一篇下一篇

猜你喜欢

热点阅读