www是什么?
www
WWW是World Wide Web (环球信息网)的缩写,也可以简称为Web,中文名字为“万维网”。
WWW(World Wide Web),是一张附着在Internet上的覆盖全球的信息"蜘蛛网",镶嵌着无数以超文本形式存在的信息,其中有璀璨的明珠,当然也有腐臭的垃圾。有人叫它全球网,有人叫它万维网,或者就简称为Web(全国科学技术名词审定委员会建议,WWW的中译名为"万维网")。WWW是当前Internet上最受欢迎、最为流行、最新的信息检索服务系统。它把Internet上现有资源统统连接起来,使用户能在Internet上已经建立了WWW服务器的所有站点提供超文本媒体资源文档。这是因为,WWW能把各种类型的信息(静止图像、文本声音和音像)无义无缝的集成起来。WWW不仅提供了图形界面的快速信息查找,还可以通过同样的图形界面(GUI)与Internet的其他服务器对接。
由于WWW为全世界的人们提供查找和共享信息的手段,所以也可以把它看作是世界上各种组织机构、科研机关、大学、公司厂商热衷于研究开发的信息集合。它基于Internet的查询。信息分布和管理系统,是人们进行交互的多媒体通信动态格式。它的正式提法是:"一种广域超媒体信息检索原始规约,目的是访问巨量的文档"。WWW已经实现的部分是,给计算机网络上的用户提供一种兼容的手段,以简单的方式去访问各种媒体。它是第一个真正的全球性超媒体网络,改变了人们观察和创建信息的方法。因而,整个世界迅速掀起了研究开发使用WWW的巨大热潮。
WWW诞生于Internet之中,后来成为Internet的一部分,而今天,WWW几乎成了Internet的代名词。通过它,加入其中的每个人能够在瞬间抵达世界的各个角落,只要将一根电话线插入你的PC(它可能是你随身携带的笔记本电脑加上一部移动电话),此时全球的信息就在你的指尖!
WWW并不是实际存在于世界的哪一个地方,事实上,WWW的使用者每天都赋予它新的含义。Internet社会的公民们(包括机构和个人),把他们需要公之于众的各类信息以主页(Homepage)的形式嵌入WWW,主页中除了文本外还包括图形、声音和其他媒体形式;而内容则从各类招聘广告到电子版圣经,可以说包罗万象,无所不有。主页是在Web上出版的主要形是一些HTML文本(HTML即Hyper Text Markup Language,超文本标识语言)。
20世纪40年代以来人们就梦想能拥有一个世界性的信息库。在这个数据库中数据不仅能被全球的人们存取,而且应该能轻松地链接其它地方的信息,以便用户可以方便快捷地获得重要的信息。它引发了第五次信息革命。
随着科学技术的迅猛发展,人们的这个梦想已经变成了现实。目前正在使用的最流行的系统叫"环球信息网WWW"(World Wide Web)。它的正式定义是"WWW is a wide-area hypermedia information retrieval initiative to give universal access to large universe of documents"简而言之,WWW是一个以Internet为基础的计算机网络,它允许用户在一台计算机通过Internet存取另一台计算机上的信息。从技术角度上说,环球信息网是Internet上那些支持WWW协议和超文本传输协议HTTP(Hyper Text Transport Protocol)的客户机与服务器的集合,透过它可以存取世界各地的超媒体文件,内容包括文字、图形、声音、动画、资料库、以及各式各样的软件。
理论上说来,环球信息网包括整个两亿人以上的Internet世界,它包含所有的Web站点、Gopher信息站、FTP档案库、Telnet公共存取帐号、News新闻讨论区以及Wais资料库。所以环球信息网可以说是当今全世界最大的电子资料世界,已经可以把World Wide Web当成是Internet 的同义词了。事实上,一般我们日常所说的"上Internet",其实指的就是连上World Wide Web 。WWW是World Wide Web (环球信息网)的缩写,也可以简称为Web,中文名字为“万维网”。
环球信息网之所以称之为信息网,完全是因为它的资源可以互相连接的缘故,全世界目前大概有数万个Web站,每个Web 站都可以透过超链结(Hyper link)与其它Web 站连接,任何人都可以设计自己的Home Page,放上Web 站,然后在你的Home Page 上面产生链结,与其他人的Home Page 连接,或是连到其他的Web 站;别人也一样可以连到你的Home Page ,或是你的Web 站,整个信息网就这样编织了起来,形成一个巨大的环球信息网。本章将简要介绍一下环球信息网的一些概念:客户机、服务器、协议等。在本章中我们还将了解到环球信息网的历史与发展。
客户机与服务器
客户机、服务器和协议虽然都是很简单的概念,但描述它们比理解它们更难。
客户机是一个需要某些东西的程序,而服务器则是提供某些东西的程序。一个客户机可以向许多不同的服务器请求。一个服务器也可以向多个不同的客户机提供服务。通常情况下,一个客户机启动与某个服务器的对话。服务器通常是等待客户机请求的一个自动程序。客户机通常是作为某个用户请求或类似于用户的每个程序提出的请求而运行的。协议是客户机请求服务器和服务器如何应答请求的各种方法的定义。WWW客户机又可称为浏览器。
通常的环球信息网上的客户机主要包括:Lynx、Mosaic、Netscape等。通常的服务器来自于CERN、NCSA、Netscape。让我们来看一下Web中客户机与服务器的具体任务。
在Web中,客户机的任务是:
1帮助你制作一个请求(通常在单击某个链接点时启动)。
2将你的请求发送给某个服务器。
3通过对直接图象适当解码,呈交HTML文档和传递各种文件给相应的"观察器"(Viewer),把请求所得的结果报告给你。
一个观察器是一个可被WWW客户机调用而呈现特定类型文件的程序。当一个声音文件被你的WWW客户机查阅并下载时,它只能用某些程序(例如Windows下的"媒体播放器")来"观察"。
通常WWW客户机不仅限于向Web服务器发出请求,还可以向其他服务器(例如Gopher、FTP、news、mail)发出请求。
一个Web服务器的任务是:
1接受请求
2请求的合法性检查,包括安全性屏蔽。
3针对请求获取并制作数据,包括Java脚本和程序、CGI脚本和程序、为文件设置适当的MIME类型来对数据进行前期处理和后期处理。
4把信息发送给提出请求的客户机。
Web拥有一个被称为"无状态"的协议。这是因为服务器在发送给客户机应答信息后便遗忘了此次交互。在"有状态"的协议中客户机与服务器要记住许多关于彼此和它们的各种请求与应答信息。
Web是一个易于实现的协议。因为无状态的协议是很轻松的,它没有多少必需的核心代码和资源。此种协议的另一吸引人的特性是可以方便地从一个服务器转向另一个服务器(在客户机端)或者从一个客户机转到另一客户机(服务器端),而无需过多的清理和跟踪。这种快速转移的能力对于超文本而言是非常理想的。(本章后面有一节介绍超文本的定义)
Internet和伴随它产生的一切是一个分布极为广泛的网络。它们支持的标准的或者至少是具有互操作性的协议,允许这种互操作性跨越学术界、商业界乃至于国界。也就是说,Internet、TCP/IP协议、HTTP协议以及WWW不属于任何人所有。不同国家的学校和公司可独立地建立客户机和服务器,而它们在Web上一起协同工作。这种实现方法有一个极大的好处,那就是其拓展的空间即便不是完全开放的,也是相当开放的。
WWW的起源
1945年8月份Vannevar Bush在 Atlantic Monthly杂志上发表了一篇题为"正如我们所想到的"的文章,从那时起,关于文档信息的电子化链接的念头就一直萦绕在计算机工作者、信息科学家们的脑海中。
作家们远在Bush的文章之前就已预料到这种"链接"。文章的脚注难道不就是用原始的纸笔与其他作品"超链接"吗?难道作家引用和借鉴别人的作品的方法不是更进一步的"超链接"吗?例如,鲁迅的""和茅盾的""两篇作品也是在纸张环境中使用超文本的例子。这说明类似超文本的使用需求已经流行很长时间了。
然而正是Bush才把此种想法与电子技术联系在一起。Bush预见到因战争需要发展起来的新技术将会被广泛应用,并会改变我们的思维方式。总之,Bush关于我们如何组织和使用信息的基本思想已经成为今天我们所看到的WWW和超文本。
超文本(Hypertext) 这个术语是Ted Nelson于1965年首创的,它通常是指不局限于线性方式的文本。也就是说,超文本文档的部分甚至全部也许都是线性的,但也可能都是非线性的。超文本通过链接或引用其它文本的方式突破了线性方式的局限性。超文本是超媒体的一个子集。超媒体是指这样一种媒体(文本、、声音、视频录象等),它与其它媒体以非线性方式链接而成。
超文本最早是由鼠标器的发明者Douglas Engelbart和Ted Nelson付诸实现的。他们俩的超文本实现工作受到60年代的技术和复杂的设计基础的极大限制。两个人的项目想象成分多于可行的成分。1967年 Nelson他把实现分布式超文本的计划命名为Xanadu。Xanadu这个项目是用于处理所有的版权和帐务问题的,按他的说法,Xanadu有足够的健壮性,可用于把全世界的出版物统统联网。虽然其结果是失败的,但它为超文本和WWW的发展奠定了坚实的基础。
HTML的产生和WWW的发行
1989年3月,在欧洲粒子物理研究所,即CERN,Tim Berners-Lee提出一项计划,目的是使科学家们能很容易地翻阅同行们的文章。此项计划的后期目标是使科学家们能在服务器上创建新的文档。为了支持此计划,Tim创建了一种新的语言来传输和呈现超文本文档。这种语言就是超文本标注语言HTML(Hyper text Markup Language)。它使标准通用标注语言SGML(Standard Generalized Markup Language)的一个子集。SGML早已被证明是开放式的语言。
用于操纵HTML和其他WWW文档的协议被称为超文本传输协议HTTP (HyperText Transfer Protocol)(有关HTTP协议的内容将在第二章加以介绍)。遵照Internet的习惯,几乎所有协议的名称都以TP结尾。而相应的服务器则被称为超文本传输协议守护进程HTTPD(HyperText Transfer Protocol Daemon)。
HTTP使用了统一资源定位器URL(Uniform Resource Locator)这一概念。简单地说,URL就是文档在环球信息网上的"地址"。URL用于标识Ineternet或者与Internet相连的主机上的任何可用的数据对象。URL中的U常常被认为表示"统一",实际上在许多重要文档中也是这样引用的。
在URL概念背后有一个基本思想,那就是:提供一定信息条件下,你应能在Internet上的任何一台机器上访问任何可用的公共数据。这些一定的信息由以下的URL基本部分组成:
·所使用的访问协议
·数据所在的机器
·请求数据的数据源端口
·通向数据的路径
·包含了所需数据的文件的名称 URL的标准格式如下:
protocol://machineaddress:port/path/filename
例如,想要访问南京理工大学的Web站点,其URL为:
http://wwwnjusteducn
1992年7月,WWW在CERN内部得到了广泛的应用。从此以后WWW得到了热情的接受,在Internet上开始有所影响。到1993年1月,全世界已有50个为人所知的WWW服务器,各种浏览器软件开始发行。同年2月,伊利诺斯大学Urbana-Champaign分校的国家超级计算机中心NCSA (National Center for Supercomputing Applications)发行了一个新的浏览器软件。从此,WWW已初具规模。
NCSA的Mosaic到Netscape看浏览器的发展
WWW曾经存在的问题之一就是没有用于通用计算机和操作系统上的可靠的浏览器。Mosaic的问世解决了这个问题。由Joe Hardin领导的NCSA系统开发组开始了一项计划,其目标是建立一个很有用的WWW浏览器,不仅能处理Tim Berners-Lee所描述的WWW,而且能支持其他的访问协议。这个客户程序被称作Mosaic,于1993年2月发布。
许多计算机专家提出了许多新建议,使得HTML和WWW得到了飞速的发展。NCSA小组详细地研究了MIME(Multipurpose Internet Mail Extension)类型的使用,以便识别一些媒体的格式,尤其是声音、、动画等。使用MIME类型似乎是理所当然的一步,因为通用Internet 邮件扩充服务MIME早已被作为能定义和编码大多数数据类型的目标。MIME类型有新的优势,体现在可扩充性和已被证明的实用性上。更妙的是大量用于操作 MIME的程序代码早已编写出来,随时可用于新的程序——WWW客户机和服务器程序。
在HTML中加入了"IMG"标记之后,Mosaic成了真正的多媒体浏览器。超文本页面骤然变得亲切友好了许多。展现得不在仅是科学家和学者们所用的枯燥的学术研究信息,当今世界的各种信息都能以多媒体的方式生动地展现在人们的面前。Web从此已经成熟,这也正是Internet期望已久的。
WWW与面向网络的编程语言JAVA
简单地说,JAVA是一个由SUN公司开发而成的新一代编程语言。JAVA的目标是为满足在一个充满各式各样不同种机器、不同种操作平台的网络环境中开以软件。这也正是为什么不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了"支持JAVA",你就可以看到生动的起始页的原因。
利用JAVA编程语言,你可以在你的起始页中加入各式各样的动态效果,你可以放上一段动画,可以在起始页上建立霓虹灯式的看板,让你的名字在上面不停地转动。如果你愿意,就像一般的窗口程序一样,你还可以放上菜单和按钮,以及滚动条。只要使用JAVA,没有什么你做不到的。
为什么JAVA可以做到这些传统起始页上做不到的动态演示呢?没有别的原因,在加入JAVA的支持后,你的起始页已不再只是一个冷冰冰的"文件",而是配合JAVA程序的一个活生生的程序实体。正因为这一点,在你使用Netscape Navigator或者Microsoft Internet Explorer观看各地起始页时,你所用的WWW浏览器不但要负责将HTML格式的文件以正确的格式显示出来,同时也必须负责在你所使用的机器上,执行伴随而来的JAVA程序。
事实上,对这样一种伴随起始页而来的JAVA程序,我们取了一种特别的名称,叫Applet,我们可以把它想像成是一个个小巧可爱的程序。JAVA除了开发附在起始页上的小应用程序外,也具备有开以大型应用程序(Application)的能力,并且同样可以跨越不同种类的机器、不同种类的操作平台的限制,在各地执行。
现在在Internet上最热门的服务之一就是环球信息网WWW(World Wide Web)服务,Web已经成为很多人在网上查找、浏览信息的主要手段。WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能。它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。
商业界很快看到了其价值,许多公司建立了主页,利用Web在网上发布消息,并反它作为各种服务的界面,如客户服务、特定产品和服务的详细说明、宣传广千以及是渐增长的产品销售和服务。商业用途促进了环球信息网络的迅速发展。
如果你想通过主页向世界介绍自己或自己的公司,就必须将主页放在一个WEB服务器上,当然你可以使用一些免费的主页空间来发布。但是如果你有条件,你可以注册一个域名,申请一个IP地址,然后让你的ISP将这个IP地址解析到你的LINUX主机上。然后,在LINUX主机上架设一个WEB服务器。你就可以将主页存放在这个自己的WEB服务器上,通过它把自己的主页向外发布。
WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合。WWW服务器通过HTML超文本标记语言把信息组织成为图文并茂的超文本;WWW浏览器则为用户提供基于HTTP超文本传输协议的用户界面。用户使用WWW浏览器通过Internet访问远端WWW服务器上的HTML超文本
现在在Internet上最热门的服务之一就是环球信息网WWW(World Wide Web)服务,Web已经成为很多人在网上查找、浏览信息的主要手段。WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能。它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。商业界很快看到了其价值,许多公司建立了主页,利用Web在网上发布消息,并反它作为各种服务的界面,如客户服务、特定产品和服务的详细说明、宣传广千以及是渐增长的产品销售和服务。商业用途促进了环球信息网络的迅速发展。如果你想通过主页向世界介绍自己或自己的公司,就必须将主页放在一个WEB服务器上,当然你可以使用一些免费的主页空间来发布。但是如果你有条件,你可以注册一个域名,申请一个IP地址,然后让你的ISP将这个IP地址解析到你的LINUX主机上。然后,在LINUX主机上架设一个WEB服务器。你就可以将主页存放在这个自己的WEB服务器上,通过它把自己的主页向外发布。 WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合。WWW服务器通过HTML超文本标记语言把信息组织成为图文并茂的超文本;WWW浏览器则为用户提供基于HTTP超文本传输协议的用户界面。用户使用WWW浏览器通过Internet访问远端WWW服务器上的HTML超文本,如下图所示: http协议 WWW浏览器 <-----> WWW服务器
在WWW的客户机/服务器工作环境中,WWW浏览器起着控制作用,WWW浏览器的任务是使用一个URL(Internet地址)来获取一个WWW服务器上的WEB文档,解释这个HTML,并将文档内容以用户环境所许可的效果最大限度地显示出来。整个流程如下:
WWW浏览器根据用户输入的URL连到相应的远端WWW服务器上;
取得指定的WEB文档;
断开与远端WWW服务器的连接。 也就是说,平时我们在浏览某个网站的时候是每取一个网页建立一次连接,读完后马上断开;当需要另一个网页时重新周而复始。二、WWW服务器软件的比较和选择目前,在世界各地有许多公司和学术团体,根据不同的计算机系统,开发出不同的WWW服务器,如Apache、CERN httpd、Microsoft Internet Information System、NCSA httpd、Plexus httpd、WebSite等。在UNIX/LINUX系统中常用的有:CERN、NCSA、Apache三种
CERN httpd 这是最早期的WWW服务器软件,用C语言编写,现在功能有限,用户在缩减中。有兴趣的话可以在:ftp://ftpw3org/pub/WWW/bin中找到它。
NCSA httpd 这是在WWW服务器发展初期,美国国家超级计算机应用中心(NCSA)在1995年创建的当时一流的WWW服务器。它也是用C语言编写的,程序小、速度快。但是现在NCSA WWW服务器的主要开发人员已经离开了NCSA,这个服务器项目已经停顿了。相信大家不会选择一个没有发展的WWW服务器软件吧!当然,由于它的特殊历史地位,相信使用它的人现在还不少。如果你需要可以在ftp://ftpncsauiucedu获取它。
Apache 根据著名的WWW服务器调查公司所作的调查,世界上百分之五十以上的 WWW服务器都在使用Apache,是世界排名第一的WEB服务器。 Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。 Apache的主要特征是: 可以运行上所有计算机平台; 支持最新的HTTP 11协议; 简单而强有力的基于文件的配置; 支持通用网关接口CGI; 支持虚拟主机; 支持HTTP认证; 集成Perl脚本编程语言; 集成的代理服务器; 具有可定制的服务器日志; 支持服务器端包含命令(SSI) 支持安全Socket层(SSL) 用户会话过程的跟踪能力; 支持FastCGI; 支持Java Servlets。我们还有什么理由放弃这个功能强大而且前途光明的WWW服务器软件呢?三、安装Apache 下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。 31 系统需求运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。 32 获取软件你可以在http://wwwapacheorg中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。 33 安装软件你可以通过以下三种方法安装Apache服务器。 1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。 2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。
下载软件包apache_124etargz
tar xvzf apache_124etargz 这就完成了安装工作,简单吧!如果你使用的是RedHat Linux的话,你也可以下载apache_124rpm软件安装包,然后使用rpm –ivh apache_124rpm命令安装。 3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache 定制其功能。
下载包含Apache源代码的软件包apache_124targz;
然后用tar命令将它解开;
将当前目录改变为Apache源代码发行版的src目录;
将配置样本文件(Configurationtmpl)复制为Configuration文件;
编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项: “CC=”一行指定用什么编译软件编译,一般为“CC=gcc”; 如果需要将额外的标志(参数)指定给C编译软件,可以使用: EXTRA_CFLAGS= EXTRA_LFLAGS= 如果系统需要特殊的库和包含文件,可以在这里指定它们: EXTRA_LIBS= EXTRA_INCLUDES= 如果你要改变代码优化设置的话,你须将下面一句去掉注释,然后改成你所需要的值: #OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示: AddModule modules/standard/mod_envo 如果你需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。下表列出了Apache的模块功能:模块名 功能 缺省
mod_access 提供基于主机的访问控制命令 y
mod_actions 能够运行基于MIME类型的CGI脚本或HTTP请求方法 y
mod_alias 能执行URL重定向服务 y
mod_asis 使文档能在没有HTTP头标的情况下被发送到客户端 y
mod_auth 支持使用存储在文本文件中的用户名、口令实现认证 y
mod_auth_dbm 支持使用DBM文件存储基本HTTP认证 n
mod_auth_mysql 支持使用MySQL数据库实现基本HTTP认证 n
mod_auth_anon 允许以匿名方式访问需要认证的区域 y
mod_auth_external支持使用第三方认证 n
mod_autoindex 当缺少索引文件时,自动生成动态目录列表 y
mod_cern_meta 提供对元信息的支持 n
mod_cgi 支持CGI y
mod_dir 能够重定向任何对不包括尾部斜杠字符命令的请求 y
mod_env 使你能够将环境变量传递给CGI或SSI脚本 n
mod_expires 让你确定Apache在服务器响应请求时如何处理Expires y
mod_headers 能够操作HTTP应答头标 y
mod_imap 提供图形映射支持 n
mod_include 使支持SSI n
mod_info 对服务器配置提供了全面的描述 y
mod_log_agent 允许在单独的日志文件中存储用户代理的信息 n
mod_log_config 支持记录日志 y
mod_log_referer 提供了将请求中的Referer头标写入日志的功能 n
mod_mime 用来向客户端提供有关文档的元信息 y
mod_negotiation 提供了对内容协商的支持 y
mod_setenvif 使你能够创建定制环境变量 y
mod_speling 使你能够处理含有拼写错误或大小写错误的URL请求 n
mod_status 允许管理员通过WEB管理Apache y
mod_unique_id 为每个请求提供在非常特殊的条件下保证是唯一的标识 n 表一:Apache模块功能一览表在src目录下执行:“ /configure”;
编译Apache:执行命令“make”;
根据机器性能的不同,经历一段5-30分钟的编译,就大功告成了。
将编译好的可执行文件httpd复制到/etc/httpd/bin目录下;
将Apache发行版的配置文件:accessconf、httpdconf、mimetypes、srmconf文件复制到/etc/httpd/conf目录下。到此为止,安装完成。
34 一些说明在Red Hat Linux 60中,Apache将自己的所有配置文件和日志文件放在了“/etc/httpd”目录下,其中“/etc/httpd/conf”下为配置文件,“/etc/httpd/log”下为日志文件。同时,它将建立“/home/httpd”目录,并在其下建立三个子目录:“html/”:在这个目录下存放HTML(主页)文件;“cgi-bin/”:在这个目录下可以存放一些CGI程序;“icons/”:在这个目录下是服务器自带的一些图标。
www
的工作基于客户机/服务器计算模型,由web
浏览器(客户机)和web服务器(服务
器)构成,两者之间采用超文本传送协议(http)进行通信,
http协议的作用原理包括四
个步骤:连接,请求,应答。根据上述http协议的作用原理,本文实现了get请求的web服
务器程序的方法,通过创建
tcplistener类对象,监听端口8080;
等待、接受客户机连
接到端口8080;
创建与socket字相关联的输入流和输出流;然后,读取客户机的请求信
息,若请求类型是get,则从请求信息中获取所访问的html文件名,如果html文件存在,
则打开html文件,把http头信息和
html文件内容通过socket传回给web浏览器,然后关闭
文件。否则发送错误信息给web浏览器。最后,关闭与相应web浏览器连接的socket
字。
一、http协议的作用原理
www是以internet作为传输媒介的一个应用系统,www网上最基本的传输单位是
web网
页。www的工作基于客户机/服务器计算模型,由web
浏览器(客户机)和web服务器(服务
器)构成,两者之间采用超文本传送协议(http)进行通信。http协议是基于tcp/ip协议
之上的协议,是web浏览器和web服务器之间的应用层协议,是通用的、无状态的、面向对
象的协议。http协议的作用原理包括四个步骤:
连接:web浏览器与web服务器建立连接,打开一个称为socket(套接字)的虚拟文
件,此文件的建立标志着连接建立成功。
请求:web浏览器通过socket向web服务器提交请求。http的请求一般是get或post命
令(post用于form参数的传递)。get命令的格式为:
get
路径/文件名
http/10
文件名指出所访问的文件,http/10指出web浏览器使用的http版本。
应答:web浏览器提交请求后,通过http协议传送给web服务器。web服务器接到后,
进行事务处理,处理结果又通过http传回给web浏览器,从而在web浏览器上显示出所请求
的页面。
例:假设客户机与wwwmycomputercom:8080/mydir/indexhtml建立了连接,就会发
送get命令:
get
/mydir/indexhtml
http/10。主机名为wwwmycomputercom的web服
务器从它的文档空间中搜索子目录mydir的文件indexhtml。如果找到该文件,web服务器
把该文件内容传送给相应的web浏览器。
为了告知
web浏览器传送内容的类型,web服务器首先传送一些http头信息,然后传
送具体内容(即http体信息),http头信息和http体信息之间用一个空行分开。
常用的http头信息有:
①
http
10
200
ok
这是web服务器应答的第一行,列出服务器正在运行的http版本号和应答代码。代码
“200
ok”表示请求完成。
②
mime_version:10
它指示mime类型的版本。
③
content_type:类型
这个头信息非常重要,它指示http体信息的mime类型。如:content_type:text/html
指示传送的数据是html文档。
④
content_length:长度值
它指示http体信息的长度(字节)。
关闭连接:当应答结束后,web浏览器与web服务器必须断开,以保证其它web浏览器
能够与web服务器建立连接。
网页中的WWW其实是World Wide Web即万维网的简称,也称为Web、3W等。
它是一个联机式的信息储藏所,英文简称Web,并非是某种特殊的计算机网络。
WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合。
万维网以客户服务器方式工作,浏览器就是在用户主机上的万维网客户程序。万维网文档所驻留的主机则运行服务器程序,以此这台主机也叫万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示的万维网文档称为页面。
其服务器通过超文本标记语言(HTML)把信息组织成为图文相结合的超文本,利用链接从一个站点跳到另个站点,从而且主动地获取信息。
这样一来彻底摆脱了以前查询工具只能按特定路径一步步地查找信息的限制 。
HTTP协议会话过程包括4个步骤。
(1)建立连接:客户端的浏览器向服务端发出建立连接的请求,服务端给出响应就随机建立连接。
(2)发送请求:客户端按照协议的要求通过连接向服务端发送自己的请求。
(3)给出应答:服务端按照客户端的要求给出应答,把结果(HTML文件)返回给客户端。
(4)关闭连接:客户端接到应答后关闭连接。
万维网的出现使得互联网从仅由少数计算机专家使用变为了普通人也可以使用的信息资源,在万维网出现以后,网站数不断增长,它是互联网发展中的一个非常重要的里程碑。
万维网是一个分布式的超媒体系统,它是超文本的系统的扩充。它把大量信息分布在整个互联网上,每台主机上的文档都可以独立进行管理。
0条评论