收藏 分销(赏)

Internet和万维网基础知识.pdf

上传人:曲**** 文档编号:546208 上传时间:2023-11-27 格式:PDF 页数:27 大小:2.40MB
下载 相关 举报
Internet和万维网基础知识.pdf_第1页
第1页 / 共27页
Internet和万维网基础知识.pdf_第2页
第2页 / 共27页
Internet和万维网基础知识.pdf_第3页
第3页 / 共27页
Internet和万维网基础知识.pdf_第4页
第4页 / 共27页
Internet和万维网基础知识.pdf_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、Zr/r弟基础知识随着万维网的出现,工业化国家的绝大部分居民和非工业化国家的一部分居民的生活 已经发生了永久性的变化。虽然万维网也带来了一些负面影响例如,访问色情信息和 参与赌博变得更容易了,有害思想的传播也有了更便捷的通道但是,万维网带来的巨 大影响总体上是正面的。很多人都在口常生活中使用Internet和万维网,包括通过E-mail 和社交网站来联系亲朋好友和商业伙伴,在任何地方都几乎可以购买任何商品,搜索无数 的各种各样的信息,这些信息包括从电影院的放映时间表到几乎全球所有城市宾馆的住宿 价格,甚至还包含一些偏远少数民族的历史文化特色。创建用于提供所有这些信息的软件 和数据需要用到几种不

2、同的技术,如标记语言和元标记语言,以及利用多种不同编程语言 的编程技术,其中有一些是专门针对万维网的,另一些则是专为通用计算而设计的。为了 能够获取构建万维网站点所需的知识和技术,本书提供了必要的背景和基础知识,使构建 的万维网站点不仅可以呈现用户所需的信息,还能发布商业广告。本章是本书其余章节的基础。首先介绍Internet和万维网的一部分发展历史。接下来 将讨论Web浏览器和服务器的作用和一些特征。然后将描述统一资源定位符(Uniform Resource Locator,URL),URL为Web中的可用资源指定了地址。接下来将介绍多用途网际邮件扩 充协议(Multipurpose Int

3、ernet Mail Extension,MIME),它定义具有不同类型内容的文件的文 件类型和文件扩展名。此后将讨论超文本传输协议(Hypertext Transfer P rotocol,HTTP),它 提供了浏览器和Web服务器之间连接的通信接口。本章最后将简单介绍Web程序员常用的 一些工具,包括 XHTML、XML、JavaScript Flash、Servlet JSP、JSF、ASP.NET P HP、Ruby、Rails以及Ajaxo所有这些工具都将在本书的后续章节中详细介绍(第2章和第3章 将讨论XHTML;第4章、第5章和第6章将讨论JavaScript;第7章将讨论XML

4、;第8 章将讨论Flash;第9章将讨论P HP;第10章将讨论Ajax;第11章将讨论Servlet、JSP和 JSF;第14、15章将讨论Ruby;第15章将讨论Rails)。2 Web程序设计(第6版)1.1 Internet 简介本书讨论的所有主题都与Internet有关。因此,首先简单讨论一下Internet本身。1.1.1 起源20世纪60年代,美国国防部(Department of Defense,DoD)开始对开发一些新的大规 模计算机网络产生兴趣。开发这样的一个网络,其目的在于为从事与国防相关合同项目的 研究人员提供通信、程序共享和远程计算机访问等功能。这种网络的一个基本要求

5、是必须 足够可靠,即使当其中的某些节点由于破坏、战争和其他正常原因而失去作用后,整个网 络还可以继续运行。DoD的高级研究计划局(Advanced Research P rojects Agency,ARP A)提 供经费支持了第一个这种网络的构建,这个网络将ARP A支持的大约12个实验室和大学连 接在一起。该网络中的第一个节点是1969年在UCLA建立的。由于这个网络是由ARP A提供经费支持的,因此被命名为ARP Anet。尽管最初的设计 目标很多,但是这个网络的初衷主要是通过E-mail进行基于文本的简单通信。由于ARP Anet 只是在ARP A资助的实验室和大学中可用,因此绝大部分

6、教育机构并没有连接进来。所以,20世纪70年代后期和80年代早期又开发了很多其他网络,其中包括BITNET和CSNET。BITNET 是 Because Its Time Network 的缩写,是由纽约城市大学(City University of New York)首创。该网络的初衷是提供电子邮件和文件传输功能。CSNET是Computer Science Network 的缩写,它将特拉华大学(University of Delaware).普渡大学(P urdue University)、威斯康星大学(University of Wisconsin)、兰德公司(RAND Corpora

7、tion)、Bolt、Beranek 以及 Newman(马萨诸塞州坎布里奇市的一家研究公司)连接在一起。该网络最初的设计目标是提 供电子邮件功能。由于各种不同的原因,BITNET和CSNET都没有发展为占有绝对优势的 全国性网络。1986年出现了一个新的全国性的网络NSFnet,顾名思义,这是由美国国家科学基金会(National Science Foundation,NSF)出资赞助的。NSFnet最初连接了 NSF赞助下的位于5 个大学中的超级计算机中心。但是,在该网络建立后不久,其他学术机构和实验室也开始 使用该网络。至IJ 1990年,NSFnet在绝大部分非军事领域应用中已经取代了

8、 ARP Anet,大 量组织成为NSFnet中的节点到1992年,NSFnet已经连接了全球中一百万台以上的计 算机。1995年,NSFnet中的一小部分网络重新成为学术网络。其余部分就成为著名的 Internet,虽然这一术语很早就已经在ARP Anet和NSFnet中使用过了。1.1.2 Internet 的含义Internet是在一个通信网络中连接的计算机的大规模集合。这些计算机的大小、配置和 制造商都是我们熟知的。实际上,连接到Internet中的一些设备如绘图机和打印机根 本就不是计算机。能够使所有这些不同的设备通过Internet进行通信的创新之举是一个单独 的、低层的协议,即传

9、输控制协议/Internet 协议(Transmission Control P rotocol/Intemet1 ARP A 在 1972 年更名为美国国防高级研究计划局(Defense Advanced Research P rojects Agency,DARP A)。P rotocol,TCP/IP)o TCP/IP在1982年成为计算机网络连接的标准协议,它允许某台计算机 中的程序通过Internet直接和另一台计算机中的程序进行通信。但在绝大多数情况下,在 TCP/IP之上还要运行一个较高层的协议。即便如此,TCP/IP为连接到Internet的计算机(及 其他设备)提供了低层的通

10、信接口也是非常重要的2。一般情况下,同一个组织中的多台计算机并不是直接连接到Internet中的每台计算机上 的,而是相互连接构成了一个局域网,然后这个局域网中的一个节点物理连接到Internet 中。因此,Internet实际上并不是计算机的网络,而是网络的网络。很明显,必须可以唯一地标识出所有连接到Internet的设备。1.1.3 IP 地址对于我们来说,Internet节点是通过名称进行标识的;而对于计算机来说,它们是通过 数字地址进行标识的。这种机制类似于程序中的变量名和变量的数字内存地址之间的关系。我们是通过变量名来标识变量,计算机则是通过变量的数字形式的内存地址来标识变量。计算机

11、接入到Internet的IP地址是一个唯一的32位数字。通常IP地址会写为(或者认 为)是由4个8位数字,中间用西文句点分隔而成的。IP地址中的这4个部分则分别由不同 的Internet路由计算机解析,然后确定某个消息下一步必须去往何处才能最终到达目的地。不同的组织分配了不同的IP块,然后再细分给所有需要接入到Internet的计算机此 时的机器大部分指的是计算机。例如,一个较小的组织可能分配了 256个IP地址,可能是 191.57.126.0191.57.126.255。一些大型组织,如美国国防部,可能分配了 1600万个IP地 址,这些IP地址的第一个8位数是特殊的,如12.0.0.01

12、2.255.255.255。虽然人们几乎总是在浏览器中输入域名,但并不影响IP的正常工作。例如,美国联合 航空公司(United Airline,其网站地址是)的IP地址是209.87.113.93。因此,如 果在浏览器中输入http:20 9.87.113.93,就能连接到美国联合航空公司的网站。1998年底,一个新的IP标准IP v6出台,但它尚未广泛实现。IP v6最重要的变化是将 IP地址从32位扩展为128位。这个变化是非常必要的,因为剩下的尚未启用的IP地址数 量正在快速减少。这个新标准IP v6规范所在的位置为ftp:/ftp.isi.edu/in-notes/rfc2460.t

13、xto1.1.4 域名由于我们很难直接处理和记住数字,因此Internet中的机器必须要有一个文本格式的名 称。名称中首先是一个主机的名称,接下来是范围越来越大的机器集合的名称,称之为域(domain)o 一般可能有两个、三个甚至多个域名。第一个域名紧靠主机名称的右侧,表明 主机是这个域的一部分。第二个域名给出了第一个域所在的域。最后的域名表示主机所属 的组织类型,这是站点名称中最大的域。对于美国的组织来说,edu表示教育机构,com表 示公司,gov表示美国政府机构,org表示其他类型的组织。对于其他国家,最大的域一般2 TCP/IP并非Internet所采用的唯一通信协议有时也选用UDP/

14、IP。4 Web程序设计(第6版)是国家的缩写例如,瑞典(Sweden)的缩写为se,哈萨克斯坦(Kazakhstan)的缩写为kz。请分析下面这个简单的地址示例:其中,movies指的是主机名称,comedy是movies所在的本地域,而它又是marxbros 域的一部分,同样,marxbros域是com域的一部分。主机名称和所有的域名合称为完全限 定域名。由于IP地址是Internet内部使用的地址,因此,由浏览器用户为消息指定的目的地的 完全限定域名必须在通过Internet将消息传递给目的地之前转换为一个IP地址。此转换操 作由一个名为“域名服务器”的软件系统来完成,该域名服务器实现了

15、域名系统(Domain Name System,DNS)。域名服务器是为Internet上的一组机器服务,并由负责这些机器所连 接的Internet部分的组织机构来运转。所有来自浏览器的文档请求都被发送到最近的域名服 务器。该域名服务器将尝试是否能够将完全限定域名转换为IP地址,如果可以,则进行转 换。否则,该服务器将这个完全限定域名发送给另外的域名服务器以实现转换操作。与IP 地址一样,完全限定域名也必须是唯一的。图1-1演示了浏览器请求的一个完全限定域名在发 送到一个适当的Web服务器之前是如何转换为IP地址的。图1-1域名转换确定某个Web站点IP地址的一种方式是在完全限定域名之前使用t

16、elnet命令。参见 1.7.1 节。到20世纪80年代中期,已经出现了很多种基于TCP/IP运行的协议,以支持基于Internet 的各种不同应用。其中最常见的是telnet,它使得Internet上某台计算机的用户可以登录并 使用Internet上的另一台计算机;文件传输协议(File Transfer P rotocol,FTP)用于Internet上 各个计算机之间的文件传输;Usenet用于实现电子公告板;mailto允许Internet上某台计算 机的用户将消息发送给Internet卜.其他计算机的用户。这些不同的协议有着各自不同的用户接口,并且只能用于实现本身的设计目标,用户 只

17、有学习所有这些不同的用户接口才能够体验Internet的优势。这就限制了 Internet的发展。但不久后,一个更好的方法出现了,那就是万维网。1.2 万维网本节将简单介绍万维网的演变。1.2.1 起源1989 年,CERN(Conseil Europeen pour la Recherche Nucleaire 或 European Organization for P article P hysics的简称,欧洲粒子物理研究所)中由Tim Berners-Lee领导的小组提交了 一个针对Internet的新协议和一个使用该协议的文档系统该小组将这个新系统命名为 World Wide Web

18、,它的目的在于使全球的科学家能够利用Internet交换自己的工作文档。这个新系统被设计为允许Internet上任意一个用户都可以从许多文档服务计算机的数 据库中搜索和获取文档。到1990年末,个新系统的基本框架已经在CERN中的一台NeXT 计算机中开发出来并实现了。1991年,该系统移植到了其他计算机平台并正式发布。该系统的文档使用超文本的形式,超文本是一组包含了嵌入式链接的文本,这些文本 可以链接到其他文档的文本,并支持非连续显示文本格式的材料。超文本的概念出现得更 早一些,在20世纪80年代中期,它就已经在Xerox公司的NoteCards和Apple公司的 HyperCard 中使用

19、了。从现在开始,本书将WorldWideWeb简称为Web。Web中的信息单元有几个不同的名 称,其中,最常用的是页面(P age)、文档(Document)和资源(Resource)。这三个名称中最常 用的是文档,虽然它看起来好像只能描述文本。页面的应用范围也比较广泛,但经常会引 起误解,因为Web信息单元通常会涵盖构成印刷媒体的多种页面类型。此处将这些单元称 为资源是比较合适的,因为这可以涵盖可能包含的非文本信息。虽然本书有的地方或多或 少地将文档和页面互换使用,但在绝大部分情况下,应该优先使用文档这一名称。有时候文档只表示文本,通常包含一些指向其他文档的嵌入式链接。但是,文档也可 能包含

20、图片、音频或者其他类型的媒体。如果一个文档包含了非文本信息,就称为超媒体。从抽象意义上讲,Web仅是一个由文档组成的超大规模集合,其中通过链接相互联系。这些文档是由Web服务器提供,可以通过浏览器进行访问。有关Web浏览器的信息请参见 1.3节,Web服务器的信息请参见1.4节。1.2.2 Web 还是 Internet需要指出的是,Web和Internet并不是一回事。Internet是计算机和其他设备的集合,它们通过装置连接起来,相互之间可以通信。Web则是一组软件和协议的集合,Internet 中的绝大部分(甚至全部)计算机都安装了这些软件和协议。其中有些计算机运行Web服务 器,用来提

21、供文档,但大多数计算机运行Web客户机或浏览器,用来从服务器请求文档,并将文档显示给用户。在Web问世之前,Internet就非常有用;即使没有Web,Internet也3虽然Berners-Lee获得的学位(来自牛津)是物理学,但他在CERN的第一份工作却是一个软件咨询工程师。Berners-Lee 在伦敦出生并长大。6 Web程序设计(第6版)仍然非常有用。但是,目前的情况是绝大部分用户都通过Web来使用Internet。1.3 Web浏览器当两台计算机经由网络进行通信时,很多情况下是一台计算机作为客户机,另一台计 算机作为服务器。客户机启动通信,一般是请求服务器中存储的信息,然后服务器将

22、该信 息发送给客户机。和许多其他系统一样,Web也是基于客户机/服务器的配置而运行的。Web服务器中的文档是由浏览器进行请求的,浏览器是运行在客户机上的程序。由于 用户可以利用它来浏览服务器中的可用资源,因此称为浏览器。最初的浏览器是基于文本 的-它们不能显示任何类别的图形信息,也没有图形用户界面(Graphical User Interface,GUI)o这在很大程度上限制了 Web应用的增长速度。在1993年早期,随着Mosaic的出现,这一情况发生了变化,Mosaic是第一个具有图形用户界面的浏览器。它是由美国伊利诺斯大 学(University of Illinois)的超级计算机应用

23、程序国家中心(National Center for Supercomputer Applications,NCSA)开发的。那些既不是科学家也不是软件开发人员的人能够借助于这个 图形用户界面很方便地访问Webo Mosaic的第一个发布版本是利用X Window系统运行在 UNIX系统上。到1993年晚期,又发布了可以运行在Apple Macintosh和Microsoft Windows 系统上的Mosaic版本。这样,接入到Internet的计算机用户拥有了一件非常强大的工具,能够在地球的任何地方访问Web中的任何资源。Mosaic带来的这种强大功能和便利,直 接导致了 Web使用的爆炸

24、性增长。浏览器是Web中的客户机,这是因为它启动了与服务器的通信,服务器在等待浏览器 的请求之前不会做任何事情。一种最简单的情况就是浏览器向服务器请求一个静态文档。服务器接到请求后定位这个文档,然后发送给浏览器,浏览器将文档显示给用户。但是,较复杂的情况更为常见。例如,服务器可能会提供一个文档,请求用户通过浏览器输入信 息。在用户完成了请求输入后,浏览器将这个请求输入传递给服务器,服务器可能利用 这一输入信息进行计算,然后向浏览器返回一个新的文档,并将计算结果通知给用户。有时候浏览器可能还会直接请求执行服务器中存储的某个程序。程序执行的结果将返回 给浏览器。虽然Web支持很多不同的协议,但最为

25、常用的还是超文本传输协议(Hypertext Transfer P rotocol,HTTP)o HTTP提供了一种标准的浏览器和Web服务器之间的通信格式。1.7节 将简单介绍HTTP o最常用的浏览器是Microsoft Internet Explorer(IE)和Firefox浏览器,其中,IE只能运行 在安装了 Microsoft Windows操作系统的P C机上匕Firefox浏览器则可用于几种不同的计 算平台,包括Windows、Mac OS和Linux。还有其他一些可用的浏览器,如Firefox的“近 亲”和Netscape Navigator,另外还有Opera浏览器和App

26、le的Safari浏览器。但是,因为 当前使用的绝大部分浏览器是IE或Firefox,因此本书将重点讨论这两种浏览器。4实际上,正4和IE5还能够在Macintosh计算机中使用,IE4还能够在UNIX系统中使用。但是,后来的IE版本只能 适用于Windows平台。1.4 Web服务器Web服务器是可以向发出请求的浏览器提供文档的程序。服务器是一种被动程序:只 有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。最常用的Web服务器是Apache和Microsoft的Internet信息服务器Qntemet Information Server,IIS)O其中,Apac

27、he有针对多种计算机平台的多个版本,而HS只能运行在Windows 操作系统下。至I2009年6月,处于运行状态的超过7.5亿个Web站点中5,大约47%的站点使 用的是Apache,大约25%的站点使用的是IIS,其余的站点使用的是其他类型的服务器,这 些其他类型服务器的使用率是比较平均的(处于第三位的服务器是,这是来自中 国公司的一种产品,使用率大约为13%汽1.4.1 Web服务器操作虽然客户机和服务器是一种自然的信息分发模式,但是,这种配置模式还是为Web带 来了其他一些好处。一方面,服务器中的信息处理并不需要耗费太长时间;另一方面,在 客户机屏幕上显示信息却非常花费时间。由于Web服

28、务器不参与信息的显示过程,因此,服务器可以同时处理很多个客户机的请求。这样,利用少量的服务器为大量的客户机提供 文档就是一种既合乎自然规律又有效的资源配置方式。Web浏览器通过向服务器发送URL(参见1.5节)来启动与服务器之间的网络通信。一个 URL可以指定以下两种不同资源的某一种:存储在服务器中某个数据文件的地址,该文件 将发送到客户机;或者客户机要求执行的位于服务器中的某个程序,程序执行的结果将返回 到客户机。Web客户机和Web服务器之间的所有通信都使用标准的Web协议HTTP,1.7节中将 讨论该协议7。当Web服务器开始运行时,会通知所处的操作系统它已经做好了准备,可以接受通过 主

29、机中某个端口接入的网络连接。当处于这种运行状态时,服务器将作为操作系统环境中 的后台进程运行。Web客户机或者浏览器打开一个与Web服务器的网络连接,向服务器发 送请求信息或者某些可能的数据,并接收服务器返回的信息,最后关闭连接。当然,网络 连接中浏览器和服务器之间还存在其他机器特别是网络路由器和域名服务器。但是,本节只关心Web通信中的一个部分:服务器。简单地讲,Web服务器的主要任务就是监控主机的通信端口,通过该端口接受HTTP 命令,并运行该命令指定的操作。所有HTTP命令都包含一个URL,其中包含主机名称。当接收到这个URL之后,Web服务器就将其转换为一个文件名称(向客户机返回一个文

30、件)或者程序名称(执行该程序,并将运行结果返回给客户机)。这听起来非常简单,但和其他5在线站点总量超过23.8亿。6 这些统计数据来自于http:/。7实际上,有些通信使用的是HTTP的安全版本HTTP S。8 Web程序设计(第6版)听起来非常简单的很多过程一样,其中包含了大量复杂的细节。所有当前这些Web服务器都有一个共同起源:最早出现的两种服务器,其中一种是欧 洲CERN开发的,另一种是美国伊利诺斯大学的NCSA开发的。目前,最常用的服务器配 置是运行在不同UNIX操作系统版本上的Apacheo1.4.2 服务器的一般特性不管起源是什么和运行于何种平台,绝大部分Web服务器都有一些共同的

31、特性。本节 将简单介绍其中的一些特性。Web服务器的文件结构中有两种目录。其中一种目录的根目录称为文档根目录。文件 层次结构以文档根目录为起点来存储服务器能够直接访问到的Web文档,Web文档一般情 况下是为客户机提供的。另一种目录的根目录称为服务器根目录。此目录与其派生的目录 一起用来存储服务器及其支持软件。客户机能够直接通过顶层URL来访问存储在文档根目录中的文件。通常,客户机不能 直接访问URL中指定的文档根目录,而是通过服务器将请求的URL映射为文档根目录,客户机并不知道文档根目录所在的位置。例如,假定有一个基于UNIX系统的名为 的站点(这不是一个真实的站点,至少目前还不是)。进一步

32、假设其文档根目 录为topdocs,存储在/admin/web目录下,因此,地址为/admin/web/topdocs。来自客户机的 http:/ 搜索文件 petunias.html 0 类似地,http:/ bulbs/tulips.html 形式的 URL 请求将导致服务器按照地址/admin/web/topdocs/bulbs/tulips.html 来搜索文件tulips.html。许多服务器允许一部分文档集合存储到文档根目录之外的路径中。这种提供文档的辅 助性区域称为虚拟文档树。例如,服务器的初始配置可能是在服务器主机的主系统磁盘中 存储所有文档。随着时间推移,服务性文档集合的大小

33、可能会超过磁盘空间。在这种情况 下,一部分文档可能需要存储到辅助磁盘中。辅助磁盘可能位于服务器主机中,也可能位 于本地局域网的其他机器中。为了支持这种布局,可以将服务器配置为把带有特殊文件路 径的URL定向到文档根目录之外的存储区域。有时,一些包含不同内容类型的文件,如 图片,会存储在文档根目录之外。早期服务器的功能一般只限于处理请求的文件,或者输出请求程序执行的结果。在过 去几年,服务器附加的服务功能一直在稳定增加。现代的服务器是既庞大又复杂的系统,能够提供很广泛的客户机服务。许多服务器能够支持在一台计算机上建立多个站点,这样 可以降低每个站点的成本,并使站点的维护更加方便。这样的辅助主机称

34、为虚拟主机。有些服务器可以提供Web上其他主机的文档根目录中的文档,这种服务器称为代理 服务器。虽然Web服务器的最初设计目标只是支持HTTP协议,但是,目前有许多服务器可以 支持ftp、gopher news以及mailto协议。此外,几乎所有Web服务器都支持通过通用网 关接口(Common Gateway Interface,CGI)程序和服务器端脚本与数据库系统进行交互。1.4.3 ApacheApache源自于NCSA服务器httpd,该服务器添加了一些功能后就成为了 Apache0美 国有一个名为Apache的土著部落,但是,服务器Apache与该部落没有任何关系。它来自 于其第一

35、个版本的特征,该版本是服务器httpd的一个修订版本。从本节前面的统计数据中 了解到Apache是目前应用最广泛的Web服务器。其中主要原因如下:无论从速度还是从 可靠性角度来讲,它都是一款优秀的服务器。而且,还是开放源代码软件,这就意味着它 是免费的,有一个巨大的志愿者团队对其提供支持,系统维护过程既有效又有力。最后,它是基于UNIX系统最好用的服务器之一,而UNIX是最为流行的Web服务器操作系统。除了为客户机提供文档这一基本服务之外,Apache还提供了大量的其他服务。当 Apache开始执行时,首先从一个文件中读取配置信息并根据其中的参数启动。一个新的 Apache副本包含了针对“典型

36、”操作的默认配置信息。站点管理员通过修改默认的配置信 息来满足自己的特殊要求和习惯。由于历史的原因,一个Apache服务器中包含了以下三个配置文件:httpd.conf srm.conf 以及access.confo只有文件httpd.conf中包含了真正用来控制Apache服务器行为的指令。其他两个文件指向文件httpd.conf。文件httpd.conf中包含了一个指令列表,用于指定服务 器的操作。http:/httpd.apache.Org/docs/2.2/mod/quickreference.html 对这些指令做了描述。1.4.4 IIS虽然Apache已经可以移植到Windows

37、平台,但是,它并不是各种Windows操作系统 中最流行的服务器。由于Microsoft IIS服务器是作为Windows系统的一部分而一起提供的,而且由于它本身也是一个很好的服务器,因此,绝大部分基于Windows的Web服务器使用 的是IlSo Apache和IIS提供的各种服务十分类似。从站点管理员的观点看,Apache与IIS最大的区别在于,Apache是通过一个配置文件 进行控制,管理员可以通过编辑这个文件来修改Apache的行为。对于IIS而言,服务器行 为的修改是通过一个基于窗口的管理程序来完成,该程序称为IIS管理单元,它可以同时控 制HS和ftpo站点管理员可以通过该程序来设

38、定服务器的参数。在Windows XP和Vista下,可以按照“控制面板”I“管理工具”I IIS Admin的顺序 来启动HS管理单元。在最后一个选项上单击启动相应窗口,利用该窗口可以启动、停止 或暂停ns。当服务器停止后,可以通过该窗口修改IIS的参数。1.5 统一资源定位符统一资源定位符(Uniform/UniversaF Resource Locator,URL)用于标识 Internet 中的文 档(资源)。Internet中有许多不同类型的资源,可以通过不同格式的URL标识它们。8资源地址通常也称为URL,因此,究竟是uniform还是universal无关紧要。10 Web程序设

39、计(第6版)1.5.1 URL的格式所有的URL都遵循以下通用格式:scheme:object-address其中,scheme 一般指的是通信协议。常用的通信协议包括http、ftp、gopher、telnet、file mailto以及newso不同的通信协议对应的object-address格式也不同。本书主要介绍 HTTP协议,该协议支持Webo它用于请求和发送可扩展超文本标记语言(extensible Hypertext Markup Language,XHTML)文档。当 URL 中的 scheme 为 HTTP 时,object-address 应该为 如下格式:/完全限定域名/

40、文档路径我们感兴趣的另一个协议是file协议。file协议用于表示正运行浏览器的计算机中的文 档。要知道Web中的某些文档是否可用,可利用该协议进行测试,而不需要将这些文档共 享给所有的浏览器,因此,该协议是非常有用的。当URL中的scheme为file时,完全限 定域名就可以省略了,整个URL应该为如下格式:file:/文档路径由于本书只讨论XHTML文档,因此接下来对URL的讨论将仅限于HTTP协议。服务器计算机的名称就是该计算机的主机名称,文档就存储在服务器计算机中(以便其 他计算机访问)。对于将消息传递给主机这一操作,必须指定主机中的一个进程进行处理。这样的进程是通过对应的端口号进行标

41、识的。Web服务器默认的端口号为80。如果某个服 务器配置为使用其他的端口号,就必须在URL中将这个端口号附加到主机名称之后。例如,如果一个Web服务器配置为使用端口 800,那么必须将“:800”附加到主机名称之后。URL中不能包含空格,此外,还有很多特殊的字符也不能用在URL中,包括分号、冒 号和&符号。如果要在URL中嵌入空格或者这些特殊字符,必须将其写为百分号加ASCII 码的形式,其中ASCII码是一个十六进制的两位数。例如,如果域名为San Jose,那么必须 写为San%20 Jose的形式(20是空格符对应的十六进制ASCII码)。http:/www.w3.org/Addres

42、sing/URLZURI_Overview.html给出了有关URL的详细介绍。1.5.2 URL 路径HTTP协议指定文档路径的方式与操作系统中文件系统指定文件或目录路径的方式类 似:都是由目录名称和文件名称组成的一组序列,名称之间通过分隔符进行分隔,不同的 操作系统对应的分隔符也是不一样的。对于UNIX服务器而言,路径是通过“/”隔开的;对于Windows服务器而言,路径是通过“”隔开的。绝大多数浏览器都能够接受用户输入 不正确的分隔符 例如,在Windows服务器中采用/作为文档文件路径的分隔符,如 下所示。9实际上,某些浏览器会错误地接受URL中的空格,但这并不是一种标准行为。http

43、:/ 的所有目录。按照顺序包含了所有目录的路径称为完整路径。绝大部分情况下,服务器配 置文件中指定了某个基础路径,URL指定的文档路径是相对于该基础路径而设定的。这样 的路径称为部分路径。例如,如果服务器的配置文件将存储文件的根目录指定为files/f99,那么上面的URL可以修改为:http:/ 面添加一个“/”即可,如下所示:http:/ 页的文件。按照惯例,主页文件名称一般为index.html。主页中通常包含了一些链接,用户 可以通过链接来请求服务器中的其他文件。如果服务器未在根目录中找到一个合适的主页文件,它将构造出目录列表并将其返回 给浏览器。1.6 MIME浏览器需要一些方法来确

44、定从Web服务器中接收的文档是哪种格式。如果不了解文档 的格式,浏览器将无法正确显示该文档,因为不同的文档格式要求使用不同的显示工具。这些文档的格式是通过多用途网际邮件扩充协议(MIME)指定的。1.6.1 类型说明MIME的设计目标是允许各种不同类型的文档都可以通过Internet邮件发送。这些文档 可能包含各种类型的文本、视频数据或者音频数据。由于Web也存在这方面的需求,因此,Web中也采用了 MIME来指定所传递的文档类型。Web服务器在一个将要发送到浏览器的 文档头部附加了 MIME的格式说明。当浏览器从Web服务器中接收到这个文档时,就根据 其中包含的MIME格式说明来确定下一步的

45、操作。例如,如果文档内容为文本,则MIME 格式说明将通知浏览器文档的内容是文本,并指明具体的文本类型。如果文档内容为音频,那么MIME格式说明将通知浏览器文档的内容是音频,并给出音频格式的具体描述,以便 浏览器选用合适的播放程序来正确播放收到的音频文件。MIME说明的格式如下所示:12 Web程序设计(第6版)类型/子类型最常见的MIME类型为text(文本)、image(图片)和video(视频)。其中,最常用的文本子 类型为plain和htmlo最常用的图片子类型为gif和jpeg。最常用的视频子类型为mpeg和 quicktimeo每个Web服务器中的配置文件中都包含了一个MIME说明

46、列表。在本书剩余的 内容中,只要提到文档类型,指的就是文档类型及其子类型。服务器通过将文件的扩展名作为类型表中的键值来确定文档的类型。例如,扩展名.html 意味着服务器应该在将文档发送给浏览器之前为文档附加text/htmT。浏览器中还有一个对应的转换表,用于通过文档的文件扩展名来查找文档类型。但是,这个转换表只有当服务器没有指定文档的MIME类型时才使用,可能只有一些较老的服务 器才会出现这种情况。在其他情况下,浏览器都可以从服务器提供的MIME头获取文档类 型信息。1.6.2 实验性文档类型目前,还存在一些实验性的子类型。实验性的子类型名称以x-开头,例如video/x-msvideoo

47、 任何Web提供商如果想要添加一个实验性子类型,只需在服务器的MIME说明列表中添加 一个该子类型的名称即可。例如,某个Web提供商可能有一个自定义的数据库,并希望通 过Web与其他人共享该数据库中的内容。这样就涉及到了浏览器如何显示该数据库的内容 的问题。Web提供商必须提供一个程序,浏览器可以调用该程序来显示数据库中的内容。这种程序可以位于浏览器的外部,此时称为辅助应用程序;也可以以代码模块的形式嵌入 到浏览器中,此时称为插件。每个浏览器都有一系列能够处理的MIME说明(文件类型)。其中,所有的浏览器都可以 处理的MIME说明为text/plain(纯文本)和text/html(HTML文

48、件)。一些特殊的浏览器有时无 法处理某些文档类型,即使这些文档类型的应用比较广泛也是如此。此时,浏览器按照前 面讨论的实验性类型的处理方式来处理这些无法处理的类型。浏览器通过检查自身的配置 文件来确定所需的辅助应用程序或者插件,这个配置文件中规定了文件类型和辅助应用程 序或插件之间的对应关系。如果浏览器找不到显示文档所需要的应用程序或插件,则给出 错误消息。浏览器还可以向服务器指定它适合接收的文档类型,参见L7节。1.7 超文本传输协议所有Web通信事务使用的都是同一个协议,即超文本传输协议(Hypertext Transfer P rotocol,HTTP)O HTTP当前的最新版本是l.l

49、o 1999年6月通过的RFC 2616中定义了 HTTP的规范。在万维网联盟(World Wide Web Consortium,W3C)的 Web 站点 http:/www.w3.org 中可以找 到RFC 2616o本节将简要介绍HTTP oHTTP包含两个阶段:请求阶段和响应阶段。浏览器和Web服务器之间的每次HTTP10这种说法并不完全准确。XHTML文档也使用.html文件扩展名,严格来说,它应该使用不同的MIME类型。通信(请求或者响应)都包含两部分:头部和主体。头部包含了与通信有关的信息;主体则 包含了通信的数据,当然,前提是存在这样的数据。1.7.1 请求阶段HTTP请求的通

50、用格式如下所示:(1)HTTP方法 URL中的域名部分 HTTP版本(2)头部字段(3)空行(4)消息主体以下是一个HTTP请求的首行的示例:GET/storefront.html HTTP/1.1HTTP中只定义了为数不多的几种请求方法,而且一般只使用其中的一小部分。表1-1 中列出了几种最常用的方法。表1-1 HTTP请求方法方 法描 述GET返回指定文档的内容HEAD返回指定文档的头部信息POST利用随附的数据来执行指定的文档PUT利用随附的数据来替换指定文档DELETE删除指定文档在表1-1给出的这些方法中,GET和P OST是最常用的两个方法。P OST方法最初的 设计目标是完成诸如

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服