【Web探索之旅】第一部分:什么是Web?


内容简介

1、Web探索之旅:开宗明义

2、第一部分第一课:什么是Web?

3、第一部分第二课:Web,服务和云

4、第一部分第三课:Web的诞生史


Web探索之旅:开宗明义

大家好。

我们这个系列课程相对比较简单,比【C语言探索之旅】,【C++探索之旅】,【Linux探索之旅】,【TCP/IP网络探索之旅】简单,会让大家在轻松中理解关于Web的方方面面。

您是否对Web感兴趣但是不知道什么是Web呢?

您是否觉得“网络黑客”很神秘?

您是否不清楚Internet和Web有什么区别?

如果您有凡此种种问题,这个系列文章就是为您写的。不需要任何预备知识,只需要跟着小编进行探索Web的旅程。

你可以学习到Web的历史,Web的相关编程语言和框架,Web程序员是干什么的,等等。学完这个系列课程,你就了解了Web开发的世界,而且你自己也可以成为一名Web程序员,如果你愿意的话。

好了,话休絮烦,我们出发吧!



第一部分第一课:什么是Web?

什么是Web呢?这个问题不容易回答。

Web这个英语单词有好几个意思:[蜘蛛网,网状物; [机]万维网; 织物; 圈套]。

我们也经常用到它的合成词,例如Webpage(网页。是Web和page(页面)的合成),Website(网站。是Web和site(站点)的合成)。

一般在IT(信息技术,Information Technology)领域,Web被翻译成“网络”。或者很多时候我们不翻译,就直接用Web这个词。因为network(或简称net)这个单词也有网络的意思。但是Web和Network是有区别的。

那么到底什么是Web呢?

Web是World Wide Web (万维网,一般简写为WWW)的简称。World是“世界”的意思,Wide是“广阔的”的意思,Web就是“网”。

WWW可以让Web客户端(常用浏览器)访问Web服务器上的页面。 是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个有用的事物,称为一样“资源”;并且由一个“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol,简称HTTP)传送给用户,而后者通过点击链接来获得资源。

Web是比较偏应用层的概念(【TCP/IP网络精讲】中所讲的OSI七层模型的第七层:Application(应用)层)。可以说network是我们最宽泛的“网络”概念的底层基础,而Web则是指顶层的应用,甚至包含了人与人利用Web进行的交互。

小编的系列教程【TCP/IP网络精讲】着重讲的是OSI的前四层:物理层,数据链路层,网络层,传输层。而这个【Web探索之旅】则是偏重应用层的知识。两个教程可以互为补充,帮助你打通网络的整体概念。

Web的表现形式

用什么来形容Web比较好呢?

有的人可能会想到surfing(冲浪),或者说Surfing the Internet/Web(互联网/网际冲浪)。因为我们在网站上浏览网页时就有点像冲浪一般“一页页”地翻过(想起了腾格尔演唱的康熙王朝的片尾曲《大男人》:“一生有一种大海的气魄,岁月一页页无情翻过”)。我们也经常“无情”地快速翻过我们的网页,甚至我们的人生。

但是说到Web,我们还是用另一个意象来表示吧。

小编选择用“蜘蛛网”,来形象地表现Web:

为什么用蜘蛛网(希望对蜘蛛恐惧的朋友见谅)来形象地表示呢?

因为Web在英语中有“蜘蛛网”的意思,而且蜘蛛网的每个连接的结点,正好可以表示全球这个大Web中的每一台电脑。只要上了网,这些电脑都在Web上互联。

所以surfing the Web可以形象地用以下漫画来描述:



Web,服务和云

这一节中,我们首先要来区分一下Internet和Web这两个时常容易被混淆的概念。

我们要对大家说:Internet 不等于 Web !

Web是Internet的一部分,虽然Web是Internet中最被人熟知的那一部分服务。

如上图所见,我们可以看到,Internet是由Web和其他服务(英语:Service)所组成。

Internet是什么呢?

Internet是互联网,又称网际网路,或音译因特网、英特网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。这种将计算机网络互相联接在一起的方法可称作“网络互联”,在这基础上发展出覆盖全世界的全球性互联网络称互联网,即是互相连接一起的网络结构。

除了Web,Internet还包含其他服务:

这些服务有E-mail(电子邮件),FTP(File Transfer Protocol(文件传输协议)的英文简称),Newsgroups(新闻组这个名字本身多少会产生一点歧义,因为它通常是一个讨论组。新闻组与万维网上的论坛(BBS)在技术上完全不同,但功能上却是比较相似的。新闻组通常使用NNTP协议,使用特定的客户端来阅读和发送讨论的内容是一个电子讨论组,它集中了对某一主题有共同兴趣的人发表的文章。),其他服务还有 远程登录(Telnet),手机 (3GHZ)等。

今天,人们有时候比较容易混淆Internet和Web的概念,是因为现在越来越多的Internet的服务(e-mail,FTP,newsgroups等)都通过Web这个接口来呈现给用户,这些服务中的很多都已经整合到Web中。

举一些例子:

  1. Gmail:Google的免费网络邮件服务,就是通过Web来与用户交互的。我们一般使用gmail也是在浏览器里面。其实就是e-mail这个Internet的服务通过Web呈现出来。
  2. Dropbox:国外最流行的网络存储服务,是同步类网盘的祖师。后来国内也出了百度云盘,360网盘这样众多的网盘,都是模仿Dropbox。其实就是FTP这个Internet的服务通过Web呈现出来。

其他还有,就不一一列举了。

Cloud(云)

说了Internet和Web之间的区别,也介绍了一些常见的Internet服务。我们再来看一个近几年很流行的概念:Cloud(英语“云”的意思),相信大家或多或少听说过“云计算”,“大数据”之类名词。

说到Cloud(云)的定义,至今没有太统一的说法。各方解释都不太一样。

如果一定要给一个定义,我希望是一万年(不好意思跑题了)。

我们可以简单地把Cloud定义为:通过Web这个“接口”获取到一些Internet服务,或者把这些服务本身定义为“云”。

可以用下图来形象地表示:

上图中,用云朵来表示的那些各式各样的Service(服务),就是我们用户要通过Web这个接口来获取到的。这些服务有:

  1. 文件存储:File Storage,比如百度云盘,云存储等。
  2. 计算能力:比如云计算(Cloud computing)。
  3. 无纸化:Paperless,是一个资讯革命,形式是避免使用纸张作为记录及沟通的媒体,节约资源,可持续发展。人际沟通无纸化: 以电邮、短讯、上网讨论区等,代替写情信、家书、投诉信等;公文: 用Word、PDF等电脑化,网络传递,交到收信者处,待有必要才由读者自费打印,等。


Web的诞生史

下面我们来聊聊Web的历史吧,看看这么有意思的Web是如何诞生及发展的。

我们简单来介绍一下:

  1. ARPAnet:被称为Internet的雏形。1969年,美国国防部高级研究计划局(Advance Research Projects Agency, 简称ARPA)开始建立一个命名为ARPAnet的网络。当时建立这个网络的目的是出于军事需要,计划建立一个计算机网络,当网络中的一部分被破坏时,其余网络部分会很快建立起新的联系。那时还想到了防核弹袭击,不要忘了当时正是冷战(1947年至1991)时期。美国需要防卫苏联的突然袭击,比如说纽约的那部分网络被轰炸了,那么这个计算机网络的其余部分还需要能工作。

    上图为美国当时全国范围的ARPAnet。

  2. E-mail等Internet的服务开始出现:1972年,e-mail服务出现。
  3. Web出现:1991年。所以Web诞生是在Internet之后很久。

Web之父Tim Bern

那么谁发明了Web呢?

Tim Berbers Lee (蒂姆·伯纳斯·李),就是下面这位仁兄。看着还蛮和蔼的。他在1991年(也有说是1989年的...)提出了Web(World Wide Web的缩写,或WWW)。

这张照片其实摄于1994年的欧洲核子研究组织(CERN)。

在他之前,没有浏览器,没有“WWW”,网络世界一片空白。如果当初为谋取个人利益,将自己的WWW设想乃至后来的万维网申请知识产权和专利,如今的互联网世界将不可想象。蒂姆假想说:“那样的话,世界上至少会有16种不同的Web,有CERN网,有微软网,有苹果网……。”

1994年,Tim Berners Lee创立了著名的W3C(World Wide Web Consortium,万维网联盟)组织,因为他觉得Web发展迅猛,需要有一个类似基金会或委员会的机构来规范,以达成全球统一标准。

W3C后来发明了一系列的语言和规范:HTML,CSS,XML等。近几年的HTML5也是他们规定的。

W3C 最重要的工作是发展 Web 规范(称为“推荐”,Recommendations),这些规范描述了 Web 的通信协议(比如 HTML 和 XHTML)和其他的构建模块。

W3C的官方网站:

http://www.w3.org/

大家想学各种技术(HTML,CSS,XML,Javascript,PHP,等),可以去W3C学院:

http://www.w3schools.com/

对应中文网站是:

http://www.w3school.com.cn/



总结

  1. Web(万维网,World Wide Web的简称)是Internet(互联网或英特网)的一个部分,是Internet最为人所知的部分。我们今天用浏览器上网,浏览网页,就是在用Web。
  2. Internet的诞生比Web早。
  3. Cloud(云)更像是一个市场化的概念,而不是技术概念。
  4. W3C组织规定和掌控Web的发展。

第二部分预告

今天的课就到这里,一起加油吧!

下一部分我们学习:Web的编程语言

将会讲到Web的运作原理,包括著名的Client-Server(客户端-服务器)原理等,也会介绍客户端的编程语言和服务器端的编程语言,数据库,响应式网站。


程序员联盟社区

目前有一个微信群和一个QQ群,凡是对编程感兴趣的朋友都可以加,大家可以交流,学习,互动,讨论编写的程序的源代码,编程问答等。

微信群(程序员联盟),加群请私信我(微信群人数超过100之后,不能通过扫描二维码加入了,只能私信我,谢谢)

QQ群: 413981577 (1000人群)

QQ群文件里有很多编程书籍PDF和其他资料。扫描下面二维码加QQ:

我们还建立了一个公共的百度云盘,2TB容量,已有很多优秀编程资源,大家也可以上传。链接加群之后会发送。

百度贴吧 【程序员联盟】 欢迎您加入,交流编程,讨论代码,共享资源,已经有很多话题。吧主就是小编。

http://tieba.baidu.com/f?kw=%E7%A8%8B%E5%BA%8F%E5%91%98%E8%81%94%E7%9B%9F&ie=utf-8

《程序员联盟》的微社区,方便大家提问和互动。可以关注一下。

微社区地址和二维码如下:

http://m.wsq.qq.com/264152148

谢谢!



程序员联盟
微信公众号

*您若觉得本文不错,请点击画面右上角《···》按钮“分享到朋友圈”或“发送给朋友”

*新朋友请关注「程序员联盟」微信搜公众号  ProgrammerLeague

小编微信号:
frogoscar

小编QQ号:  379641629

小编邮箱:    [email protected]

程序员联盟QQ群:413981577

程序员联盟微信群:先加我微信

有朋友反映看手机端的文章太累,其实是可以用浏览器网页来看的:

方法1. 点击画面右上角的《···》按钮,然后选择“复制链接”,再把链接黏贴到你的浏览器里面或用邮件发送给自己,就可以在电脑的浏览器里打开了

方法2. 头条网www.toutiao.com,搜索我的自媒体“程序员联盟”,内有所有文章,也可以直接进这个链接:http://www.toutiao.com/m3750422747/

方法3. 我的51CTO博客,CSDN博客,博客园和开源中国博客链接(所有文章都在上面)

http://4526621.blog.51cto.com

http://blog.csdn.net/frogoscar

http://www.cnblogs.com/frogoscar

http://my.oschina.net/frogoscar/blog

如何查看所有文章

1. 点击“查看公众号”,再点击“查看历史消息

2. 在公众号回复任何信息,可以看到包含“查看历史消息”的链接。

【支持小编的劳动】

觉得文章对你有帮助,请纪念小编的辛勤劳动,扫描二维码捐赠给小编,谢谢!

支付宝

Paypal

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-05 07:03:52

【Web探索之旅】第一部分:什么是Web?的相关文章

【Web探索之旅】第三部分第一课:服务器

内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着眼于一个Web site(网站)是如何工作的,我们会更深入地了解Web背后的网络.这里的网络是network,泛指Web中的各台机器之间互相"交流". 还记得我们之前将Web形象地比喻成什么吗? 对了,就是一个很大的蜘蛛网.对于有蜘蛛恐惧的朋友我只能献上我诚挚的歉意,看到我真挚的表情了吗.

【Web探索之旅】第三部分第一课:server

内容简单介绍 1.第三部分第一课:server 2.第三部分第二课预告:IP地址和域名 第三部分第一课:server 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理.还是非常重要的. 这一部分我们会着眼于一个Web site(站点)是怎样工作的,我们会更深入地了解Web背后的网络. 这里的网络是network.泛指Web中的各台机器之间互相"交流". 还记得我们之前将Web形象地比喻成什么吗? 对了,就是一个非常大的蜘蛛网.对于有蜘蛛恐惧的朋友我仅仅能献上我诚挚的歉意

【Web探索之旅】第四部分:Web程序员

内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[Web探索之旅]的最后一部分. 我们的第二和第三部分都略有难度,不过这第四部分和第一部分一样,都会比较轻松愉快. 这一课我们来聊一聊Web程序员,Web的文化,如何成为一名优秀的Web程序员. 或许看完这部分,你会跃跃欲试,想要成为一名Web程序员也不一定.毕竟现在Web程序员还是比较吃香的. 第四部

【Web探索之旅】第二部分第一课:客户端语言

内容简介 1.第二部分第一课:客户端语言 2.第二部分第二课预告:服务器语言 第二部分:Web编程语言和工具 大家好.上一个部分我们学习了Web的一些基本概念: 什么是Web? Internet和Web的区别 Web的历史 第二部分我们会正式进入Web学习的主题了.我们会带大家了解一个我们平时访问的网站(Web site)是如何运作的.首先我们来看看Web开发使用到的编程语言和数据库,一些框架和内容管理系统,还有响应式设计.这一部分会有不少原理,概念比较重要,不过我们会用形象地比喻来阐明. 第二

【Web探索之旅】第三部分第二课:IP地址和域名

内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些机器如何找到和辨认彼此呢?难道不会"只是因为在人群中多看了你一眼,再也没能想起你容颜"吗? 如果我用我的浏览器上网,我怎么知道哪个服务器向我发送此网站呢? 为了解决这个难题,IT科学家们使用了一个叫做IP地址的东西(东西好像有点太难听了,IP它根本就不是个东西好嘛). IP是Interne

【Web探索之旅】第二部分第三课:框架和内容管理系统

内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库 第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby,C#等. 这一课我们来学习基于这些语言衍生出来的框架(Framework),然后我们再来看看什么是内容管理系统(CMS). 框架(Framework) 什么是Framework(框架)呢?要给出一个准确的定义很难.因为它有不少不同的定义.可以自行参看这个百度百科: http://baike.baidu

【Web探索之旅】第二部分第二课:服务器语言

内容简介 1.第二部分第二课:服务器语言 2.第二部分第三课预告:框架和内容管理系统 第二部分第二课:服务器语言 介绍了Web的客户端,我们来谈谈Web的服务器端. 既然客户端有客户端的编程语言(HTML,CSS和JS),那么我们服务器端岂能逊色呢,对吧. 服务器端也有不少种编程语言.这些编程语言写成的程序会在服务器端的电脑上被执行. 如果说客户端的语言编写的程序决定了我们的网页的外观,那么服务器端的语言编写的程序决定了网页的功能和如何与用户交互. 你也许会问:"既然我们可以用HTML,CSS和

【Web探索之旅】第二部分第五课:响应式网站和移动应用

内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Application的缩写,意为"应用"). 自从触屏式手机和平板电脑开始流行起来后(多亏乔布斯乔老爷子推广了iPhone),传统的网站和软件行业发生了翻天覆地的变化.以前,我们用手机最多是打电话,发短信,玩游戏,很难得会在手机上浏览网页. 可是自从触屏技术开始流行后,大大提高了人们在手机和平板上&quo

【Web探索之旅】第三部分第三课:协议

内容简介 1.第三部分第三课:协议 2.第四部分预告:Web程序员 第三部分第三课:协议 之前的课,我们学习了Client-Server模型的客户端语言和服务器语言. 客户端语言有HTML,CSS和JavaScript. 服务器语言有PHP,Java,Python,Ruby,C#,还有新兴的Go语言(Google推出的很强大的编程语言). 不过,要使得Web中这么多机器之间能够相互通信,例如 客户机A对服务器E说:"你好,请发送baidu.com这个网页给我",是不能借助客户端或服务器