美文网首页
从输入URL地址到网页显示

从输入URL地址到网页显示

作者: 佳联 | 来源:发表于2017-04-15 22:52 被阅读0次


    1.URL寻找IP地址

    打开一个页面,首先需要找到存储这个页面所含信息的设备,这时候我们需要这个设备的定位信息,也就是IP地址。

    注意:局域网IP和公网IP有差别。

    什么是IP,比如127.1.0.0就是一个IP,很难记忆。

    所以我们使用URL。

    URL是什么?

    URL:统一资源定位符,用于定位互联网上的资源

    http://www.baidu.com

    这是一个URL地址,其中http指的是一种传输协议,另外还有使用本地文件时用的flie协议,以及为了加密用的防止文件泄露的https协议,直接指向目标IP。

    www.baidu.com是我们输入的网站,baidu.com是域名,域名可以通过DNS解析得到对应的IP地址,而我们输入的网站是有语义含义的,非常方便记忆。

    2.域名解析

    DNS解析网站时,采取就近原以最快时间找到IP地址。

    1.首先从浏览器缓存找-浏览器会缓冲DNS一段时间;

    2.在浏览器缓冲中找不到网站名称对应的IP,那么从本地Host文件里找;

    3.还找不到去路由器缓冲中找-一般路由器也有缓存;

    4.去网络供应商的DNS缓冲中找;

    5.如果还没找到,去根服务器里找,比如.com根服务器,根域名服务器把请求发给下一级直到找到。

    ps:这里会涉及到2个经常碰到的问题:

    1.DNS劫持的问题:有些黑客会更改根服务器中网站和IP地址的对应关系,使URL指向他希望的IP地址。而用户经常对此一无所知,因为他们输入的URL还是相通的,尤其是在在页面外观上很难区分的时候。

    2.DNS服务器修改:有时候打不开页面时,会百度搜索来寻找解决方法。很多人提供的解决方法是修改DNS地址,比如改成8.8.8.8。然后,就能打开所希望打开的网站了。这是因为修改了DNS服务器地址,8.8.8.8对应的是谷歌的服务器地址,而谷歌服务器有这个网址对应的IP信息。原先的服务器已经没有了这个信息导致无法打开这个网页。

    3.WEB 服务器

    通过解析后的IP地址找到这个设备后,也就是WEB服务器,将对服务器发生请求。

    WEB服务器也是一台电脑,常见的系统是Linux和windows server2012。装有处理请求的的应用叫Web Server。

    常见的web服务器有Apatch、Nginx、IIS和Lighttpd

    而很多个URL都会指向这个服务器,根据不同的URL来指向不同的指令。做个比喻,服务器就像食堂打菜的大妈,面对这一个窗口(IP地址)下所有排队的学生,处理他们的点菜指令,根据点菜指令去打菜(执向存储的不同指令)。如果学士点的菜没有找到,向别的web服务器发出指令。

    4.指令处理,获取文件

    根据WEB服务器处理后发出的指令,经过路由器的解析向控制器发出指令,控制器向模型发出指令,模型在数据库中 寻找代码,并将代码送到控制器,控制器得到代码后向视图发出指令,视图经过处理后将html文件返送至控制器。控制器再把html文件给浏览器文件,浏览器读取html文件。

    5.指令处理,获取文件

    html字符串被浏览器接受后一句句解析,读取到link 标签后,重新发送请求读取css文件,解析到script 标签后发送请求获取js,并执行代码。解析到img 标签后,发送请求获取图片资源。

    6.绘制网页

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

    相关文章

      网友评论

          本文标题:从输入URL地址到网页显示

          本文链接:https://www.haomeiwen.com/subject/kbiiattx.html