写在开头
如今互联网时代发展这么迅速,我们几乎每个人都离不开互联网,每天或多或少都要查询细一些东西,登录一些网址,当我们在地址栏输入网址的时候,只需要再按一下回车,想找的地址就呈现在我们面前,这个过程看似很简单,其中可充满了许多步骤,接下来和我一块看看吧。
第一步:在浏览器中输入URL
首先我们需要明白URL是什么?URL(Uniform Resource Location),译为统一资源定位符,用于定位互联网上的资源。对应了一些协议,端口号,域名等相关信息,而协议又有http,https,ftp,file等,http协议主要用于定位互联网上的资源,file协议主要定位本机上的资源,而https则是加密了的http协议,防止被盗取。知道了这些定义,接下来就是在浏览器中输入URL,进行下一步。
第二步:域名解析
在浏览器中输入http:jirengu.com的URL,浏览器并不知道jirengu.com是什么,只能识别jirengu.com的IP地址,通俗来说就是浏览器只认识IP。所以我们必须先要知道jirengu.com对应的IP是什么。每种域名都会对应一个IP,这时候可能大家就会问为啥不直接使用IP呢,这是由于IP是有一串串数字组成的,而域名的话,通常可以语义化,比如:baidu.com,就好记忆的多。IP是互联网协议,IP协议提供了一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。接下来呢,就到了域名解析阶段,就是浏览器查找URL对应的IP地址,通常有以下几个步骤:
1.浏览器缓存:之前访问过的地址,浏览器都会有记录,所以下一次访问的时候就可以直接查找到对应的IP。
2.系统缓存:如果浏览器缓存找不到的话,则从电脑的host文件查找是否有对应的IP。
3.路由器缓存:会在查找路由器缓存中是否有对应的IP。
4.ISP DNS缓存:ISP是服务商如电信的缓存,从这里查找对应的IP。
5.如果都找不到的话,则向根域名服务器查找对应的IP,直到找到为止。
第三步:服务器处理
当找到对应的IP后,浏览器就可以向IP发请求,发送给服务器(服务器就是一台装了安装系统如linux,windows server 2012的机器),服务器系统中安装了一个处理请求的应用Web server,这个应用就可以处理来自浏览器的请求交给网站代码,或者接受请求反向代理到其他Web服务器。常见的Web服务器 Apache、Nginx、IIS、Lighttpd。
第四步:网站处理
主要经过下图这几个步骤:这包括了前后端,其中视图到控制器则是前端主要负责的。
MVC 模型(model)-视图(view)-控制器(controller)
第五步:浏览器处理
HTML字符串被浏览器接受后被一句句读取解析,解析到link 标签后重新发送请求获取css,解析到 script标签后发送请求获取 js,并执行代码,解析到img 标签后发送请求获取图片资源
第六步:绘制网页
浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上。
谢谢观看。