作为一名前端开发者(原谅我以此自居),了解互联网和浏览器的相关知识是极其有必要的,因为我们所有开发出来的网站全部以互联网和浏览器为基础的。
关于互联网
互联网到底是什么?对于网站普通用户来说,它可能就是宽带、购物、娱乐以及信息检索工具,那么互联网最早诞生于什么时间呢,或者受它的由来是怎样的呢?我们知道20世纪90年代,我国开始进入互联网时代,诸如百度、新浪等最早的一批互联网企业大都在这个时候出现,但是互联网不是一个全新突然出现的过程,互联网的出现要从TCP/IP的出现谈起。
1974年,几位天才计算机研究员一起发明了一种技术,叫做“互联网协议组”,这种技术又叫做“TCP/IP”。那么这个技术是干什么用的呢?通俗点理解,它是一种属于计算机的交流规则,就像人与人之间可以通过语言的规则来交流一样,中国人和美国人可能由于语言规则的不一致无法交流,人和动物也无法交流,两个计算机自然无法交流,所以这种技术应运而生,使计算机之间拥有了这项功能,并且可以互相发送信息,所以说,这项技术可以这样解释:这是一套使计算机可以彼此通信的规则。
拥有了这项技术后,在地球各个角落的计算机就可以互相通信,共享资源,这种通信的规模逐渐扩大,互联网就诞生了,也就是我们常讲的Internet,故而也叫因特网。当然,互联网并不是一开始就如此普及,事实上,最早的互联网的规模使用是1986年,美国国家科学基金会创建的一些大学之间互联的骨干网络NSFNET,而一直到了1995年,互联网才被投入商业使用。可以说,互联网的诞生让这个世界更加开放,我们可以通过Email等互联网技术发送文件和信息,我们看到的视频和游戏,都是来自于世界上各个角落上传于互联网的共享资源。
互联网的世界相当于一个独立于物理世界的平行空间,整个互联网形成了一个巨大的资源池,我们计算机上的资源可以上传到云端,脱离硬件设备的拘束(当然没有硬件是不行的)。这些数据我们可以在能够访问网络的任何时间任何地点,只要拥有一台能够联网的仪器就可以获取到。
当然,仅仅拥有互联网,我们还是不能够实现许多功能,这个时候,网络应用程序应运而生,我们常见的Email、微博之类的就是网络应用程序。借助于这些网络应用程序,我们可以实现更多的功能。
互联网就是万维网?
我们知道,今天我们在浏览器中浏览的网页都属于万维网的一部分,万维网,也就是World Wide Web,所以又被称为"WWW"或者"Web",它是在1993年被发明,它是由许多互相链接的超文本组成的庞大系统,如同互联网的TCP/IP协议一样,万维网上的超文本通过超文本传输协议来互联,而用户通过点击超链接来接收资源。万维网是由万维网联盟(World Wide Web Consortium,简称W3C)负责维护。所以说,万维网其实互联网的一部分,万维网以浏览器为载体,实现了超文本的链接。而运行在浏览器中的这些超文本文件,进行组织实现一定的功能意义,也就是我们常说的互联网应用,也就是网站。
Web应用
最早的网站通过HTML语言来实现基本架构,HTML是一种超文本标记语言,它通过一些语义化的标签来实现网页内容的呈现。例如为了在网页上呈现一个段落,我们用一个成对的<p>段落内容</p>
标签(也就是paragraph的简写)来呈现;同理,为了在呈现一个图片,可以用![](图片路径)
来实现,后来,CSS的出现可以赋予网页元素一定的样式,例如,前面提到的段落,我们通过CSS来赋予其漂亮的外观,颜色、字体、自豪、行高等,图片可以通过CSS定义其大小,圆角,阴影等效果,以及这些元素在网页上如何布局,都可以通过CSS实现,而我们在网站上看到的一些动态效果,例如轮播图以及鼠标点击时候的响应,则是通过脚本语言JavaScript来实现。
所以,早期的网站由基本的HTML、CSS以及JavaScript组成,大多用于呈现信息,所以都是静态的。而具备交互功能的的动态网页,一直到Ajax的出现才得以实现,Ajax是一种无需刷新整个网页,就可以修改局部网页内容的技术,它可以借助于JavaScript的XMLHttpRequest对象来实现,Ajax技术最早出现于Google的Gmail邮箱以及地图服务,当我们拖动地图时,不必重新从服务器下载整个地图,而是只下载浏览部分的地图,这项技术的出现使网站的交互性和性能大大增强。
当然,前面提到的这些可不是一个Web应用的全部内容,这只是用户看到的一部分,或者说是属于Client,也即是客户端的部分,而一个网站最基本的是网站前台,也就是我们前面提到的客户端部分,也即网站后台,乃是服务器和数据库部分。如果从物理空间角度来解释的话,网站也可以由域名,网站源代码以及网站空间组成。域名,也就是我们常讲的网站,源代码是Web开发人员通过编程让计算机解析为网站的源码文件,网站源代码一般由前面提到的HTML/CSS/JavaScript以及一些后端语言如PHP/ASP/JSP/.NET/Node等。网站空间,也就是存放网页文件的地方,一般指网站主机。
了解了互联网,以及网络应用,那么,这些网络应用是如何在浏览器中工作的呢?请看下一篇。