知识清单

文档呈现语言HTML、XHTML、XML、XForms、DHTML
样式描述语言CSS、XSL
动态网页技术CGI、FastCGI、ASP、ASP.NET、ColdFusion、JSP、PHP
客户端交互技术ActiveX、Java Applet、JavaFX、AJAX、Silverlight、ActionScript、Flex、AIR
客户端脚本语言JavaScript、JScript、VBScript、ECMAScript
标识定位语言URL、URI、XPath、URL 重写
文档纲要语言DTD、XML Schema

WWWthe World Wide Web

中文名万维网/环球信息网/全球资讯网络
英文名WWW/Web
包括Web 客户端和 Web 服务器

Web(万维网)只是因特网the Internet的一个方面,就像大城市里一个熙熙攘攘的街区。Web 由保存在因特网上不同的计算机中的无数文件和文档组成,这些交叉引用、彼此连接着的文件和文档织成了一张世界范围的信息网。

在其相对较短的历史中,Web 的发展已经远远超越了当初那种简单的纯文本文档的形式,之后加入了图像、视频和音频等多种信息,并提供交互。但就其本质而言,Web 是一种基于文本的媒体(传播信息的媒介),一种共享文档的平台,它使用的编写语言是 HTML 语言。

解释用 HTML 语言编写的文件的程序被称为 用户代理user-agent,即 Web 浏览器browser。Web 浏览器是对 HTML 文件(.htm/.html 文件)进行视觉化渲染render的程序,Web 浏览器会解释这些 HTML 语言格式的代码。

Web 是因特网上集文本、声音、图像、视频等多媒体信息于一身的全球信息资源网络,是因特网的重要组成部分。浏览器是用户通向 Web 的桥梁和获取 Web 信息的窗口,通过浏览器,用户可以在因特网上搜索和浏览自己感兴趣的信息。

许多人用 因特网 一词指这个网络的物理结构,包括连接所有事物的客户机、服务器和电话线;而用 Web 一词指利用这个网络(因特网)可以访问的所有网站和信息。或者这样理解:万维网是因特网上的一个应用。

  • 浏览器或用户代理被称为客户(client/ˈklaɪənt/),因为它是请求和接受服务的一方。
  • 向客户提供数据的计算机被称为服务器(server/ˈsɜːrvər/)。因特网上遍布着服务器,它们存储、处理数据,并应客户的请求将数据发送给它们。客户和服务器是链的两端,连接它们的是因特网。

自20世纪90年代早期出现以来,Web 已经从一个小圈子内的学术论文集合迅速发展成为一种成熟的、无处不在的媒体,与出版、广播和电视鼎足而立。Web 是一个巨大的信息仓库,涵盖了各种各样的主题。它已经成为许多人日常生活不可或缺的组成部分,并且成为现代商贸等很多方面的平台。但就其本质而言,Web 依旧是一种共享文档的手段。

因特网连接了两种计算机:

  • 一种是服务器(Server),用来保存文档;
  • 另外一种是客户机(Client),用来获取并显示文档。

在服务器上发生的活动称为服务器端server side的活动,在客户机上发生的活动称为客户端client side活动。要访问和显示 html 文件,就要在客户端的机器上运行浏览器软件。这些浏览器客户端通过因特网与 Web 服务器进行对话,以访问并获取需要的电子文档。

所有的 Web 活动都开始于客户端,也就是当用户打开浏览器访问网站的时候。

  • 在浏览器通过因特网发送请求(访问网站)之前,先与域名系统(DNS)服务器联系,将被访问的网站所在的服务器名称(例如 www.baidu.com)转换为 IP 地址(111.13.100.91)。
  • 这种请求(以及服务器的应答)将按照超文本传输协议(Hypertext Transfer Protocol, HTTP)标准来进行格式化。服务器大多数时间都在监听网络,等待着标注有服务器唯一地址(IP 地址)的文档请求。当收到这样的请求时,服务器首先会检查发出请求的浏览器是否具有检索文档的权限,如果有该权限的话,服务器将继续检查被请求的文档。如果该文档存在,服务器就将其发送给发出请求的浏览器。
  • 服务器通常要记录请求,一般包括客户端计算机的 IP 地址、被请求的文档以及事件发生的时间等。服务器还会生成某些特定的附件,被称做 cookie,包含的是请求浏览器及其所有者的附加信息。

蒂姆·伯纳斯·李

Tim Berners-Lee蒂姆·伯纳斯·李,英国计算机科学家,万维网的发明者,南安普顿大学与麻省理工学院教授。1990年12月25日,罗伯特·卡里奥在 CERN 和蒂姆·伯纳斯·李一起成功通过 the Internet 实现了 HTTP 代理(Web 浏览器)与服务器的第一次通讯。

2017年,Tim Berners-Lee 因“发明万维网、第一个浏览器和使万维网得以扩展的基本协议和算法”而获得2016年度的图灵奖。

1980年,Tim Berners-Lee 自牛津大学毕业后,进入 CERN(欧洲粒子物理实验室) 担任短期的软件顾问工作。深感于各种研究文件信息分散无绪,他编写了一个名为 Enquire 的信息处理工具。当时这套信息处理工具并非在网络上运行,因为网络虽然已在全美各地将大学和实验室连在一起,却没有进入欧洲。这套信息处理工具所创建的超链接,可以从同一个文件内从某一页跳至另一页、或是跳跃不同的文件。

Tim Berners-Lee 最终要做的是使超链接能跳跃不同的计算机。

1984年,Tim Berners-Lee 来到瑞士的日内瓦,进入 CERN 的粒子实验室,接受了一项极富挑战性的工作:为了使欧洲各国的核物理学家能通过计算机网络及时沟通传递信息进行合作研究,委托他开发一个软件,以便使分布在各国各地物理实验室、研究所的最新信息、数据、图像资料可共享。软件开发虽非蒂姆的本行,但强有力的诱惑促使他勇敢地接受了这个任务。

1989年3月,Tim Berners-Lee 撰写了一份“关于信息化管理的建议”提交给 CERN,建议采用 Hypertext超文本 技术把 CERN 内部的各个实验室连接起来,在系统建成后,将可能扩展到全世界。这个激动人心的建议在 CERN 引起轩然大波,但这里终究是核物理实验室而非计算机网络研究中心,虽有人支持但最后仍没有被通过。

Tim Berners-Lee 又花了2个月时间重新修改了建议书,加入了对 Hypertext 开发步骤与应用前景的阐述,并再次提交上去,这回终于得到了上司的批准。于是 Tim Berners-Lee 得到了一笔经费,购买了一台 NeXT 计算机(NeXT 是由苹果公司的创办人史蒂夫·保罗·乔布斯于1985年被苹果公司辞退后同年成立),并率领助手开发试验系统。

1989年,Tim Berners-Lee 成功开发出世界上第一个 Web 服务器和第一个 Web 客户机。虽然这个 Web 服务器简陋得只能说是 CERN 的电话号码簿,它只是允许用户进入主机查询每个研究员的电话号码。

1991年5月 Web 在因特网上首次露面,立即引起轰动,获得了极大的成功被广泛推广应用。

因特网在1960年代就诞生了,当时并没有迅速流传开来,很重要的原因是联接到因特网需要经过一系列复杂的操作,网络的权限也很分明,而且网上内容的表现形式极其单调枯燥。

Web 通过一种超文本方式,把网络上不同计算机的信息有机地结合在一起,并且可以通过超文本传输协议 HTTP 从一台 Web 服务器转到另一台 Web 服务器上检索信息。Web 服务器能发布图文并茂的信息,甚至在软件支持的情况下还可以发布音频和视频信息。此外,因特网的许多其它功能,如 E-mail、Telnet、FTP、WAIS 等都可通过 Web 实现。美国著名的信息专家《数字化生存》的作者尼葛洛庞帝教授认为:1989年是因特网历史上划时代的分水岭。Web 技术给因特网赋予了强大的生命力。

最早提出“超文本”思想的是半个多世纪以前的著名科学家、美国总统罗斯福的科学顾问、麻省理工学院教授万尼瓦尔·布什。早在20世纪30年代末,他就意识到未来是一个信息急速膨胀的时代,必须要用一种快速可靠的手段来帮助人们存储、组织、检索和阅读文献。1945年,第二次世界大战刚结束,他就在《大西洋月刊》上发表“像我们一样可以思维”一文,文中描述的“记忆延伸”系统,就是“超文本”的先驱。而 hypertext超文本 这个词,是特德·纳尔逊在1946年首次发明的。到20世纪80年代后期,国际间已多次召开超文本学术会议,每次都有上百篇研究超文本的论文问世,但都是纸上谈兵,没有人想到要把超文本技术应用到计算机网络上来。机遇偏爱有准备的头脑,Tim Berners-Lee 设想为什么不可以经由电脑文件互相连接形成"超文本"呢?

写在学习前

学习超文本标记语言 HTML(Hypertext Markup Language) 和可扩展超文本标记语言 XHTML(eXtensible Hpertext Markup Language)与学习其他计算机语言或人类语言一样。大多数人一开始会沉浸于大量的示例当中,因为学习别人是一种很自然的学习方式,这样可以使学习变得轻松而有趣。对于任何希望学习 HTML 及 XHTML 的人来说,建议是到网上学,选择一个合适的浏览器,去看看什么东西不错,什么东西非常有效,什么东西是你可以拿来用的。研究别人的文档并观察哪些是可以实现的,哪些是不可实现的。

但是,模仿也只能够带你走这么远。示例既有优点,也有缺点。通过示例来进行学习,只可以学到表面的东西,但却不能彻底全面地掌握。要想做到真正熟练,必须学会在各种不同的情况下使用这种语言。

计算机语言比人类语言精确得多。必须正确使用语法,否则它将不会起到应有的作用。所以就会遇到“标准”的问题。标准本身也在不断地变化着。

要想熟练使用语言还需要另外一个步骤。要想成为该语言真正的专家就必须形成自己的风格。这就意味着不仅要知道什么是合适的,更要知道什么是有效的。还要考虑布局方面的很多问题,以及 HTML 文档内、HTML 文档间和 HTML 文档集之间内容的表示顺序。

学任何语言,无非三点:

  • 语义:你说的是什么,你向我传达了什么信息。

    语义(Semantics):“讲什么”,数据的内容、意义,需要做出的动作及响应。

  • 语法:怎么正确使用。

    语法(Syntax):“怎么讲”,数据格式、编码方式等。

  • 惯例:典型的组词造句。

名词解释

文件(file)

计算机文件属于文件的一种,与普通文件载体(纸张)不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型,例如,图片文件常常以 JPEG 格式保存并且文件扩展名为 .jpg。

所谓“文件”,就是在电脑中,以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。文件有很多种,运行的方式也各有不同。一般来说可以通过文件名来识别这个文件是哪种类型,特定的文件都会有特定的图标(就是显示这个文件的样子),也只有安装了相应的软件,才能正确显示这个文件的图标。电脑中的文件可以是文档、程序、快捷方式和设备。文件是由文件名和图标组成,一种类型的文件具有相同的图标,文件名不能超过255个字符(包括空格)。

文档(document)

文档是文件的一种,一般将 WORD、EXCEL 等文字编辑软件产生的文件叫做文档(文档文件)。仅用文字编辑软件就能写出的 html 文件也称为 html 文档文件,简称为 html 文档。

利用系统自带的记事本程序进行编写的文件通常称之为纯文本文件。

带格式文本文件通常称为文档文件,也称文书文件,例如文章、报告、书信、通知等都属于文档文件。它注重文字表现形式,成文时需要对字符、段落和页面格式进行编辑排版。

HTML+CSS+JavaScript

结构层、表现层和行为层分离的设计思想(类似于MVC设计模式)。

结构性代码 HTML

HTML 代码用来控制 HTML 文档的结构。HTML 代码阐述了该网页有什么。HTML 元素为网页内容搭建结构,内容嵌入其中,故 HTML 是网页内容的载体。

表现性代码 CSS

CSS 代码用来控制 HTML 文档呈现出来的网页的外观样式。CSS 代码指定了 HTML 文档结构(某一组成部分/某一元素/某一选择器)的样式特性。

行为性代码 JavaScript

JavaScript 代码用来控制网页具有的交互行为。

HyperText 超文本

Theodor H. Nelson, Brief Words on the Hypertext, 23 January 1967:

'Hypertext' is a recent coinage. 'Hyper-' is used in the mathematical sense of extension and generality (as in 'hyperspace,' 'hypercube') rather than the medical sense of 'excessive' ('hyperactivity'). There is no implication about size— a hypertext could contain only 500 words or so. 'Hyper-' refers to structure and not size.

The English prefix "hyper-" comes from the Greek prefix "ὑπερ-" and means "over" or "beyond"; it has a common origin with the prefix "super-" which comes from Latin. It signifies the overcoming of the previous linear constraints of written text.

超文本(hyper-text)打破了传统文本(text)的线性约束,是一种非线性的网状结构的文本。即分叉的、允许读者作出选择,最好在交互屏幕上阅读的文本。大量的书写或图像材料,以复杂的方式相互联系,以至于不能方便地呈现在纸上。

传统文本,例如书籍中的文章和计算机的普通文本文件,都是线性结构,阅读时需要按照顺序。传统文本对信息组织的基本特点是线性和有序性,这种线性结构表现出贯穿主题的单一路径,人们在浏览或阅读知识信息时,只能沿着已给定的知识结构顺序,层次递进式地进行浏览或阅读,通常不能打乱这种排列形式,浏览时不容易产生迷失方向的感觉,同时也达到了文本制作者有序传递信息的目的。这种信息组织方式对用户有很好的引导能力。传统文本装订成册、页码固定、顺序阅读,这无疑也带来了某种局限性。

超文本是非线性的,最大特点就是随意跳转(因为有超链接的存在)。在超文本文件中,可以用一些单词、短语或图像作为超链接,将其组成了一个网状结构。通过这种非线性结构,可以实现页面的任意跳转。

非线性结构是数学用语,其逻辑特征是一个结点元素可能有多个直接前趋和多个直接后继。

超文本使得原先的线性文本变成可以通向四面八方的非线性文本,读者可以在任何一个节点停下来,进入另一个节点的文本,可以重复此过程,并且该过程是无穷无尽的,从而使一个单一文本变成了无限延伸和扩展的超级文本、立体文本。

最初的超文本系统并不是以 Web 页面的形式出现,自从 the Internet 发展以来,超文本就以其无与伦比的优势显现在 Web 页面中。

人类对信息的检索、存取、处理均是借助“联想”,“联想”使不同的信息板块交织在一起,进而构成一个复杂的信息网络。超文本结构类似于人类的联想记忆结构,它采用一种非线性的网状结构组织块状信息,没有固定顺序,也不要求用户必须按某个顺序来阅读。采用这种结构,各信息块很容易按人们的“联想”关系加以组织。传统文本对信息的组织的基本特点是线性的和顺序的。这种线性结构表现出贯穿主题的单一路径。要使信息管理符合人类思维模式,就必须改变文本的线性结构。这正是超文本技术产生的历史必然。