A. 什么是WWW服务
现在在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超文本
B. 什么是www服务
一、什么是WWW服务
现在在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://ftp.w3.org/pub/WWW/bin中找到它。
NCSA httpd
这是在WWW服务器发展初期,美国国家超级计算机应用中心(NCSA)
在1995年创建的当时一流的WWW服务器。它也是用C语言编写的,程序小、速度快。但是现在NCSA WWW服务器的主要开发人员已经离开了NCSA,这个服务器项目已经停顿了。相信大家不会选择一个没有发展的WWW服务器软件吧!
当然,由于它的特殊历史地位,相信使用它的人现在还不少。如果你需要可以在ftp://ftp.ncsa.uiuc.e获取它。
Apache
根据着名的WWW服务器调查公司所作的调查,世界上百分之五十以上的
WWW服务器都在使用Apache,是世界排名第一的WEB服务器。
Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apache的主要特征是:
. 可以运行上所有计算机平台;
. 支持最新的HTTP 1.1协议;
. 简单而强有力的基于文件的配置;
. 支持通用网关接口CGI;
. 支持虚拟主机;
. 支持HTTP认证;
. 集成Perl脚本编程语言;
. 集成的代理服务器;
. 具有可定制的服务器日志;
. 支持服务器端包含命令(SSI)
. 支持安全Socket层(SSL)
. 用户会话过程的跟踪能力;
. 支持FastCGI;
. 支持Java Servlets。
我们还有什么理由放弃这个功能强大而且前途光明的WWW服务器软件呢?
三、安装Apache
下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。
3.1 系统需求
运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。
3.2 获取软件
你可以在http://www.apache.org中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。
需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。
3.3 安装软件
你可以通过以下三种方法安装Apache服务器。
1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。
2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。
下载软件包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
这就完成了安装工作,简单吧!
如果你使用的是RedHat Linux的话,你也可以下载apache_1.2.4.rpm软件安
装包,然后使用rpm –ivh apache_1.2.4.rpm命令安装。
3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache
定制其功能。
下载包含Apache源代码的软件包apache_1.2.4.tar.gz;
然后用tar命令将它解开;
将当前目录改变为Apache源代码发行版的src目录;
将配置样本文件(Configuration.tmpl)复制为Configuration文件;
编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项:
. “CC=”一行指定用什么编译软件编译,一般为“CC=gcc”;
. 如果需要将额外的标志(参数)指定给C编译软件,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系统需要特殊的库和包含文件,可以在这里指定它们:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改变代码优化设置的话,你须将下面一句去掉注释,然
后改成你所需要的值:
#OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache服务器具备什么功能,就将那个模块用AddMole语句加到配置文件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发行版的配置文件:access.conf、httpd.conf、mime.types、srm.conf文件复制到/etc/httpd/conf目录下。到此为止,安装完成。
3.4 一些说明
在Red Hat Linux 6.0中,Apache将自己的所有配置文件和日志文件放在了“/etc/httpd”目录下,其中“/etc/httpd/conf”下为配置文件,“/etc/httpd/log”下为日志文件。
同时,它将建立“/home/httpd”目录,并在其下建立三个子目录:“html/”:在这个目录下存放HTML(主页)文件;“cgi-bin/”:在这个目录下可以存放一些CGI程序;“icons/”:在这个目录下是服务器自带的一些图标。
C. www服务器与http服务器有什么区别吗谢谢!
WWW是一种服务,HTTP是一种协议
我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:http://www..com/china/index.htm。它的含义如下:
1. http://:代表超文本传输协议,通知.com服务器显示Web页,通常不用输入;
2. www:代表一个Web(万维网)服务器;
3. .com/:这是装有网页的服务器的域名,或站点服务器的名称;
4. China/:为该服务器上的子目录,就好像我们的文件夹;
5. Index.htm:index.htm是文件夹中的一个HTML文件(网页)。
D. 什么是WWW服务器
万维网(亦作“网络”、“WWW”、“3W”,英文“Web”或“World Wide Web”),是一个资料空间。在这个空间中:一样有用的事物,称为一样“资源”;并且由一个全域“统一资源标识符”(URL)标识。这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给使用者,而后者通过点击链接来获得资源。从另一个观点来看,万维网是一个透过网络存取的互连超文件(interlinked hypertext document)系统。万维网联盟(World Wide Web Consortium,简称W3C),又称W3C理事会。1994年10月在拥有“世界理工大学之最”称号的麻省理工学院(MIT)计算机科学实验室成立。建立者是万维网的发明者蒂姆·伯纳斯·李。
万维网常被当成因特网的同义词,不过其实万维网是靠着因特网运行的一项服务。
E. 什么叫WWW服务器如题 谢谢了
先来看看两个名词: 一、超文本(hypertext) 一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。 二、超媒体(hypermedia) 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。你可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性我们才把它称为Web。 Web的特点: 一、Web是图形化的和易于导航的(navigate) Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。 二、Web与平台无关 无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。 三、Web是分布式的 大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。 Web 是动态的 最后,由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的。经常更新的。这一点是由信息的提供者保证的。 Web动态的特性还表现在Web是交互的。 Web的交互性首先表现在它的超连接上,用户的浏览顺序和所到站点完全由他自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息
F. www客户机和www服务器分别指什么
WWW客户机
即浏览器(Browser),能够向www服务器发送命令,并接收www服务器返回的响应和数据
www服务器即
Web服务器,它以超文本标记语言(HTML)和超文本传输协议(HTTP)为基础,为用户提供界面一致的信息浏览系统。信息资源以页面(也称网页或Web页面)的形式存储在Web服务器上(通常称为Web站点),这些页面采用超文本方式对信息进行组织,页面之间通过超链接连接起来。这些通过超链接连接的页面信息既可以放置在同一主机上,也可放置在不同的主机上。超链接采用统一资源定位符(URL)的形式。
G. 域名服务器是什么www 服务器又是什么
打个比方吧
WWW 服务器是网站的房子 房子就需要门牌号码 那网站的门牌号码就是域名
域名服务器就是帮你找到你想要去的那个房子的体系 也就是域名服务器是在帮你查门牌号码
明白了吧
进一步交流可私信或+Q
H. 什么叫WWW服务器
www服务器:简而言之支持WWW协议的服务器叫做Web服务器
W W W (World Wide We b )是一个大规模、在线式的信息储藏所,用户可以通过一个被称作为浏览器(b r o w s e r )的交互式应用程序来查找。许多浏览器具有一个点击界面-浏览器在用户的计算机屏幕上显示信息并且允许用户通过鼠标来进行操纵。所显示的信息包括文本与图形。而且,一些信息被高亮度显示以表明该项是可选的。当用户将光标放在可选项上并单击鼠标按钮时,浏览器显示新的、与被选的项相联系的信息。概括如下:
浏览器是一个交互程序,它允许用户从W W W 上查看信息。这些信息中含有一些可选项,允许用户查看与其相关的其他信息。 互联网:互联网,即广域网、局域网及单机按照一定的通讯协议组成的国际计算机网络。互联网是指将两台计算机或者是两台以上的计算机终端、客户端、服务端通过计算机信息技术的手段互相联系起来的结果,人们可以与远在千里之外的朋友相互发送邮件、共同完成一项工作、共同娱乐。 电子商务:电子商务通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。 EDI:何为EDI,EDI是英文Electronic Data Interchange的缩写,中文可译为“电子数据交换”。它是一种在公司之间传输订单、发票等作业文件的电子化手段。 B2G:B2G是新近出现的电子商务模式,即“商家到政府”(是术语B2B或business-to-government的变化形式),它的概念是商业和政府机关能使用中央网站来交换数据并且与彼此作生意,而比他们通常离开网络更加有效。 举例来说,一个提供 B2G 服务的网站可以提供一个单一地方的业务,为一级或多级政府(城市,州或省,国家等等)来定位应用程序和税款格式;提供送出填好表格和付款的能力;更新企业的信息;请求回答特定的问题等等。 B2G 也可能包括电子采购服务,通过它商家可以了解代理处的购买需求并且代理处请求提议的回应。 B2G 也可能支持虚拟工作间,在这里,商家和代理可以通过共享一个公共的网站来协调已签约工程的工作,协调在线会议,回顾计划并管理进发展。B2G 也可能包括在线应用软件和数据库设计的租赁,尤其为政府机关的所使用。 电子交易市场:一、网上交易、网上交收均可通过交易系统实现,通过保证金制度保证合同的履约。
二、交易模式设计多样化,涵盖钢铁产品现货交易的各种交易方式,可以实现跨模式套利。
三、系统设计个性化,交易商在交易过程中可对交易、交收的方式进行选择或自行约定。
四、卖方挂牌和买方挂牌实现了传统现货贸易的网上交易。
五、在线竞买和在线竞卖采用竞价交易方式,帮助企业实现销售利润最大化、采购成本最小化。
六、在线洽谈实现了交易商在交易过程中的在线互动。
七、双向竞价选择市场流通量大的代表性品种,通过公开竞价的交易机制,形成指导价格。钢铁产品买卖与合同转让便利,利于企业控制成本,预先锁定利润,规避价格波动带来的风险。
八、竞价专场根据区域交易热点选择交易品种,为企业近期采购、销售钢材提供参考价格,便于企业进行热点钢材品种的买卖及合同转让,促进资源流通,优化资源配置。
九、集合竞价是为交易商提供的一种标准化的现货交易模式,买卖双方集中竞价,实行滚动交收,便于大规模成交,并形成有市场指导意义的近期现货价格。
十、在线招标为交易商提供便捷的、低成本的网络招标模式,缩短招标的周期、增加招标的频次,吸引更广范围的投标方参与。
十一、在线专场可以分地区、分品种设定多种交易模式的交易专场,满足交易商的个性化需求。
对称加密算法:对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。 数字摘要:数字签名一般来说,是用来处理短消息的,而相对于较长的消息则显得有些吃力。当然,可以将长的消息分成若干小段,然后再分别签名。不过,这样做非常麻烦,而且会带来数据完整性的问题。比较合理的做法是在数字签名前对消息先进行数字摘要。
数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。 CA:美国《化学文摘》(Chemical Abstracts ,CA)1907年创刊,由美国化学会所属化学文摘服务社(CAS)编辑出版, 现为世界上收录化学化工及其相关学科文献最全面,应用最广泛的一种文献检索工具。CA的其它解释:CA: Chartered Accountant 特许会计师
CA中国: http://www.ca.com/cn/
CA:民航呼号
中国航空集团公司(含其下属单位)所使用二字代码
CA:汽车制造场
第一汽车制造场的拼音缩写
CA:软件制造商
是世界第三大软件制造商
CA:国际联合电脑公司董事长:
IT铁汉——王嘉廉
ca :泡泡堂
是泡泡堂的简称
CA:巡洋舰
重型巡洋舰的缩写
Ca(Capillary Number):
毛细数是流体力学中的无因次数,反映了表面张力与粘性力在对流体运动影响中谁起主导作用的参数。等比于黏性力和表面张力的比值,在微流控芯片层流运动状态研究中有十分重要的意义。
ca(擦):擦汗,同“汗”。
或一种骂人的话的变形。
CA:计算机代数
CA:美国加州California
C.A.:工业化学用品里面一桶(例:异丙醇 ISOPROPANOL 试剂用 工业级 纯度99.0% 20LT/CA 液状 )
CA:元胞自动机(Cellular Automata,简称CA)
CA:CASTOR 柯艾公司
CA :Cabin Attendant的简写 飞机客舱乘务员 即 人们所熟悉的空姐的另一种称法
CA:Conan+Ai 《名侦探柯南》的CP:柯哀的缩写
CA:correct action , 指出错后采取的纠正,改善行动或计划,防止类似情况再次发生。
常见塑料及树脂缩写代码
CA:乙酸纤维素
CAB:乙酸-丙酸纤维素
CF:甲酚-甲酚
CA:海马
泡泡堂英文缩写
全称:Crazy Arcade,直接翻译为疯狂的街道
网络上的CA指的是cā擦,网络语言意思为骂人的,同“操”
CA:上海柯艾文化传播有限公司(CASTOR)的简写。于2006年8月由着名80后作家郭敬明成立。
《梦幻西游》
网络游戏《梦幻西游》中的地图长安(CA)的简称 E-business:通行标准定义:使用Web技术帮助企业精简流程,增进生产力,提高效率。使公司易于沟通合作伙伴、供货商和客户,连接后端数据系统,并以安全的方式进行商业事项处理。 E-business称为电子业务,是发生在企业内部的数字化事务和流程,包括企业内部的信息系统。特征一般不含跨组织边界的有价交换的商业交易,当发生商业交易,业务就转变成商务。E-commerce主要是涉及跨企业边界交易
I. www服务器是什么意思
WWW的核心——HTTP协议
众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。<BR> WWW服务器使用的主要协议是HTTP协议,即超文体传输协议。由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用户在统一的界面下,采用不同的协议访问不同的服务,如FTP、Archie、SMTP、NNTP等。另外,HTTP协议还可用于名字服务器和分布式对象管理。
2.1 HTTP协议简介
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
2.2 HTTP协议的几个重要概念
1.连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。
2.消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。
3.请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号
4.响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。
5.资源(Resource):由URI标识的网络数据对象或服务。
6.实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。
7.客户机(Client):一个为发送请求目的而建立连接的应用程序。
8.用户代理(User agent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。
9.服务器(Server):一个接受连接并对请求返回信息的应用程序。
10.源服务器(Origin server):是一个给定资源可以在其上驻留或被创建的服务器。
11.代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。
代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。
12.网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。
网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。
13.通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。
14.缓存(Cache):反应信息的局域存储。
2.3 HTTP协议的运作方式
HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理(UA)和源服务器(O)之间通过一个单独的连接来完成(见图2-1)。
图2-1
当一个或多个中介出现在请求/响应链中时,情况就变得复杂一些。中介由三种:代理(Proxy)、网关(Gateway)和通道(Tunnel)。一个代理根据URI的绝对格式来接受请求,重写全部或部分消息,通过URI的标识把已格式化过的请求发送到服务器。网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。 图2-2
上面的图2-2表明了在用户代理(UA)和源服务器(O)之间有三个中介(A,B和C)。一个通过整个链的请求或响应消息必须经过四个连接段。这个区别是重要的,因为一些HTTP通讯选择可能应用于最近的连接、没有通道的邻居,应用于链的终点或应用于沿链的所有连接。尽管图2-2是线性的,每个参与者都可能从事多重的、并发的通讯。例如,B可能从许多客户机接收请求而不通过A,并且/或者不通过C把请求送到A,在同时它还可能处理A的请求。
任何针对不作为通道的汇聚可能为处理请求启用一个内部缓存。缓存的效果是请求/响应链被缩短,条件是沿链的参与者之一具有一个缓存的响应作用于那个请求。下图说明结果链,其条件是针对一个未被UA或A加缓存的请求,B有一个经过C来自O的一个前期响应的缓存拷贝。
图2-3
在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP 80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。
以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。
首先,简单介绍基于HTTP协议的客户/服务器模式的信息交换过程,如图2-4所示,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。
图2-4
在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。WWW服务器运行时,一直在TCP80端口(WWW的缺省端口)监听,等待连接的出现。
下面,讨论HTTP协议下客户/服务器模式中信息交换的实现。 1.建立连接 连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。
2.发送请求
打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求动作。
HTTP/1.0 请求消息的格式为:
请求消息=请求行(通用信息|请求头|实体头) CRLF[实体内容]
请求 行=方法 请求URL HTTP版本号 CRLF
方 法=GET|HEAD|POST|扩展方法
U R L=协议名称+宿主名+目录与文件名
请求行中的方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POST。不同的请求对象对应GET的结果是不同的,对应关系如下:
对象 GET的结果
文件 文件的内容
程序 该程序的执行结果
数据库查询 查询结果
HEAD——要求服务器查找某对象的元信息,而不是对象本身。
POST——从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST方法。POST主要用于发送HTML文本中FORM的内容,让CGI程序处理。
一个请求的例子为:
GET http://networking.zju.e.cn/zju/index.htm HTTP/1.0
头信息又称为元信息,即信息的信息,利用元信息可以实现有条件的请求或应答 。
请求头——告诉服务器怎样解释本次请求,主要包括用户可以接受的数据类型、压缩方法和语言等。
实体头——实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。
实体——请求或应答对象本身。
3.发送响应
服务器在处理完客户的请求之后,要向客户机发送响应消息。
HTTP/1.0的响应消息格式如下:
响应消息=状态行(通用信息头|响应头|实体头) CRLF 〔实体内容〕
状 态 行=HTTP版本号 状态码 原因叙述
状态码表示响应类型
1×× 保留
2×× 表示请求成功地接收
3×× 为完成请求客户需进一步细化请求
4×× 客户错误
5×× 服务器错误
响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。
4.关闭连接
客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话