浏览器是如何工作的

我们常说,这是互联网的时代,或者我们常常听马云说这是互联网+的时代,这是buy加的时代。反正现在这个时代网络很重要,科技很重要。从哪里体现呢?估计手机没流量,没wifi,手机没电的时候,你就相信我这个说法了。

为什么要了解浏览器工作过程

我们知道手机按平台划分有安卓机,苹果机,除此之外还有十秒后就会消失的WP机以及已经消失的塞班机、黑莓机,五大平台。不同平台的手机软件是不能通用的,这一点是手机应用发展的局限,应用程序开发者要为不同平台的手机用户开发对应的应用软件,工作量double。但是,与之不同的是网络资料就能共用,网页版应用就可以不区分平台,所以很多人认为网站应用是将来发展的趋势。
如果你是前端工作者,很有必要深入学习浏览器工作原理。如果你是普通的互联网使用者,了解一下平时你使用的工具是怎么为你服务的,这不是也很好吗。
那你们想不想知道,为什么输入一串网址就会有一大堆对应的内容?你们抢公选课的时候电脑做了些什么?为什么有些网站有时候可以访问,有时候又不可以访问了呢?也许你已经知道答案了,也许你对这个话题不感兴趣。没关系,无论如何,我都想把它工作过程大概说一遍,增强自己的记忆。
如果要很详细地说,那是不可能的,太复杂了,短时间内说不清。估计可以写成一本厚厚的书,那就让我们简单地来吧。

浏览器如何逮到你要的资源

你们在浏览器中输入http://allen.men就可以看到我的博客,那一连串的是我博客的网址。有时候你们看到的网址还有可能是http://218.15.22.136:3008/Default.aspx这样的。
那我博客的内容存放在哪里呢?众所周知,手机的资料存放在内存卡里,电脑里的资料存放在硬盘里,那我的博客的资料一样是存放在硬盘里的。不过装载这个硬盘的电脑有些特别,24小时不断电,有稳定的操作系统,有很强大的硬盘(读写速度很快,容器很大很大,可能不止一个,很贵很贵)等等。这种电脑有个特殊的称号——服务器,我们要使用这种电脑的时候,不一定要花钱买,可以花钱租,也可以找免费的。每台这样的电脑都有它专属的名字,叫IP,例如上面的第二个网址访问的服务器的IP是218.15.22.136。采用这样的命名方式有一个原因是:能命名更多的电脑。实现物联网要给所有的物品都指定一个IP,四段的不够用了,已经有开始使用六段了。
那问题又来了,为什么我的网址没有服务器的IP呢?
带IP的网址太长了,不好记,聪明的人类想到了给服务器起外号。这个外号叫域名,域名是要花钱买的,有使用期限的,应该叫租吧。我的域名是allen.men,我买断了十年的使用期限,你们经常看到的域名是.com结尾的,例如baidu.com,这种域名很贵,我买不起呀。之所以使用域名是为了方便推广,方便客户记忆。上面的第二个网址是我学校的官网,它不需要推广,更不需要方便学生记忆,所以使用IP。买到域名后,把域名跟服务器对应起来就可以了。
第二个网址后面的3008是端口号,一个服务器有很多个端口,不同端口对应不同的内容。Default.aspx是网页资源在服务中的路径。我的博客网址没有这两部分,所以这两部分是默认的值。分别是80端口和index.html
那问题又来了,http://是什么意思呀?
百度给出的解释是:

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

说白了,它就是由两部分组成:客服端请求 request和服务器端响应response。就是客户问服务器要东西,服务器给你一些东西的一种协议。
如果你看到了这句话,说明你对我的是真爱呀,这么枯燥的内容也看得下去,不过没关系,我会尽量写得有趣些。以后我会认真学习,真心分享。
回答一下标题的问题,浏览器跟服务器之间达成了一种信号交流的协议,然后浏览器根据你给的网址找到你想要的内容,把它下载下来。是不是很容易理解呢?

下载文件后呢?

下载下来的文件是代码文件,用户并不能直接查阅,要经过浏览器处理才能把优美的网页展示在用户面前。
你们有没有遇到过这样一种情况?打开一个网页,里的文字图片排版很乱,然后刷新一下可能又变正常了,或者换个浏览器又变回正常了?想知道为什么吗?
网页的代码主要由三部分组成,HTML(文字等内容)、CSS(文字的样式)、JavaScript(与用户的交互)。浏览器可以分成七个板块,其中有三个板块分别针对处理这三种代码的,你们看到排版乱的网页是因为只有处理HTMl代码的浏览器板块工作了,其它部分没有正常工作。
如果每一部分都工作,那你们就可以看到一个可以正常使用并且美观的网页了。
其他四个板块下次说。

我们聊聊抢课的事情

前面我们说过服务器的特点,24小时不断电,有稳定的操作系统,有很强大的硬盘(读写速度很快,容器很大很大,可能不止一个,很贵很贵)等等。
如果你抢课的网站所使用的服务器,断电,系统不稳定,硬盘不强大,便宜……。都会造成抢课难,这是硬件的原因。
还有,你们抢课的网站设计合不合理,科不科学,这也是一个原因,软件的原因。很多学校的网站是学生写的。

总结

  • 分析网址的组成元素
  • 解释了服务器
  • 浏览器的编译工作
  • 网址异常的原因
Allen151 wechat
评论功能没弄好,如果有问题,欢迎在我公众号上提问!!
坚持原创,您的支持将鼓励我继续创作!