
1.1 Web技术
Web技术出现于1989年3月,由欧洲粒子物理研究所的科学家Tim Berners-Lee发明。1990年11月,第一个Web服务器nxoc01.cern.ch开始运行,Tim Berners-Lee在自己编写的Web浏览器上看到了最早的Web页面。1991年,正式发布了Web技术标准。1993年,第一个图形界面的浏览器Mosaic开发成功。1995年著名的Netscape Navigator浏览器问世。随后,微软公司推出了著名的浏览器软件IE(Internet Explorer)。目前,与Web相关的各种技术标准都由著名的W3C组织(World Wide Web Consortium)管理和维护。Web是一个分布式的超媒体(Hypermedia)信息系统,它将大量的信息分布于整个因特网上。Web的任务就是向人们提供多媒体网络信息服务。
Web是一种典型的分布式应用结构。Web应用中的每一次信息交换都要涉及客户端和服务器端。因此,Web开发技术大体上也可以被分为客户端技术和服务器端技术两大类。在后面的章节中会详细介绍相关技术。
1.1.1 Web技术基础
构成Web体系结构的基本元素:Web服务器、Web浏览器、浏览器与服务器之间的通信协议HTTP(Hypertext Transfer Protocol,超文本传输协议)、编写Web文档的语言HTML (Hypertext Markup Language,超文本标记语言),以及用来标识Web上资源的URL (Universal Resource Locator,统一资源定位器)。
1.超文体、超媒体和超链接
超文本(Hypertext)一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索,它是超级文本的简称。
超媒体(Hypermedia)是超文本(Hypertext)和多媒体在信息浏览环境下的结合,它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。
Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本链接,它使得文本不再像一本书一样是固定的、线性的,而是可以从一个位置跳到另外的位置。Internet就是通过这种超链接的方式把独立的网页连接在一起,使之构成一个统一的整体,而这种连接各个页面的功能称为超链接。可以说超链接是一个网站脉络,也正是这种多连接性我们才把它称为Web。
一般来说,超链接有以下几个特征:
(1)当鼠标移到有超链接的文字或图片时,鼠标指针会变成“手”的形状。
(2)超链接分为文字和图片(包括动画)两种链接,默认情况下,对文字进行链接后,文字会加上底线,浏览过的超链接文字与没有浏览过的超链接文字在颜色上是有区别的。
2.HTML
HTML是Hypertext Markup Language(超文本标记语言)的缩写,它是用来制作网页的标记语言,是构成Web页面的主要工具。HTML语言是一种标记语言,不需要编译,直接由浏览器执行。HTML文件一般使用.html或.htm为文件扩展名。
设计HTML语言的目的是为了实现超链接,能把存放在一台计算机中的文本或图形与另一台计算机中的文本或图形方便地联系在一起,形成有机的整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。在后面的章节中会详细讲解HTML语言的用法。
3.统一资源定位器(URL)
Web信息分布于全球,要找到所需信息就必须有说明该信息存放在哪台计算机的哪个路径下的定位信息。统一资源定位器(Uniform Resource Locator, URL)就是用来标识Web文档的,任意一个文档在因特网范围内具有唯一标识符URL。
实际上,URL不仅用于标识Web文档,还用于标识因特网其他类别的文档资源,如FTP、电子邮件文档等,这也是其名称中“统一资源”所表达的含义。URL通过定义资源位置的抽象标识来定位网络资源,其格式如下:
<通信协议>://<主机>: <端口号>/<文件路径>
其中,<通信协议>是访问信息采用的TCP/IP应用协议,最常用的有3种,即http(超文本传输服务)、ftp(文件传输服务)和telnet(远程系统登录服务)。
<主机>是网络主机的域名或IP地址,它指出信息存放的主机。
<端口号>用来告诉主机打开哪一个通信端口,因为一台计算机常常会同时作为Web, FTP等服务器,每种服务要对应一个端口。
<文件路径>是所访问信息的存储路径(通常为虚拟路径而非存储文件的实际路径)。
URL各部分中,只有<主机>部分是必需的,其余3项均可以省略。若省略<通信协议>,则默认采用HTTP协议;若省略<端口号>,则采用TCP/IP标准的保留端口号(如HTTP协议保留端口号是TCP的80);若省略<文件路径>,则访问该主机的默认文档(如IIS Web默认访问文档为default.htm,或default.html等)。以下是一些URL的例子:
http://www.sptpc.com/ http://www.sptpc.com/Article/index.html http://www.kj008.com/web2/mj06b2395.html
4.Web的特点
1)Web是图形化和易于导航的(Navigate)
Web非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个链接跳到另一个链接,就可以在各页、各站点之间进行浏览了。
2)Web与平台无关
无论系统平台是什么,都可以通过Internet访问WWW。浏览WWW对系统平台没有什么限制。无论是Windows平台还是UNIX平台都可以访问WWW。对WWW的访问是通过一种浏览器(Browser)的软件实现的,如Microsoft的Explorer(IE)、Mozilla的Firefox (火狐)、Netscape的Navigator等。
3)Web是分布式的
大量的图形、音频和视频信息会占用相当大的磁盘空间,甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。
4)Web是动态的
由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站点上的信息进行更新。如某个协议的发展状况,公司的广告等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的、经常更新的。这一点是由信息的提供者保证的。Web动态的特性还表现在Web是交互的。Web的交互性首先表现在它的超链接上,用户的浏览顺序和所访问的站点完全由他自己决定。
1.1.2 HTTP协议
HTTP协议即超文本传输协议(Hypertext Transfer Protocol)。这个协议是在Internet中进行信息传送的协议,浏览器默认使用这个协议。当用户在浏览器的地址栏中输入www.mywebsite.com时,浏览器会自动使用HTTP协议来搜索http://www.mywebsite.com网站的首页。
从浏览器向Web服务器发出的搜索某个Web网页的请求是HTTP请求。当Web服务器收到这个请求之后,就会按照请求的要求,找到相应的网页。如果可以找到这个网页,那么就把网页的HTML代码通过网络传回浏览器;如果没有找到这个网页,就发送一个错误信息给发出HTTP请求的浏览器。后面的这些操作称为HTTP响应。
HTTP协议是无状态协议。也就是说,当使用这种协议时,所有的请求都是为搜索某一个特定的Web网页而发出的。它不知道现在的请求是第一次发出还是已经多次发出,也不知道这个请求的发送来源。当用户请求一个Web网页时,浏览器会与相关的Web服务器相连接,检索到这个页面之后,就会把这个连接断开。
从程序设计的角度来看,无状态的特点对于HTTP来说是一个缺点,因为这使得某些功能很难实现,但是由于网络本身的特点,这也是没有办法改变的。可以假设一下,如果HTTP协议是有状态的协议,那么就应该让一个连接长时间地存在下去,这样就可以判断一个用户到底使用了多长时间,在这段时间内都做了些什么事情。这样在Internet环境中,一个Web服务器要保存太多的连接(因为在Internet环境中,用户的数量是很难估计的),会导致服务器瘫痪。正因如此,对于所有的HTTP请求,Web服务器都会以同样的方式来对待。