一个简单Web服务器(试验).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个简单Web服务器(试验)

一个简单Web服务器的 例子SHTTPD 本章将实现一个简单的Web服务器程序——SimpleHTTPDemo,简称SHTTPD。这个Web服务器可以实现简单的用户配置、静态网页响应等功能。按照如下步骤进行设计和编写程序: 定义需求,明确需求定义。 对需求进行分析,明确实现的方式和关键的问题,进行模块设计。 按照模块设计,进行编码。 最后进行编译和测试。 18.1 SHTTPD的需求分析 Web服务器SHTTPD可以实现动态配置、多客户访问、CGI支持、支持HTTP/1.0版本,最终能实现简单的可用型Web服务器,多种浏览器可以正常访问SHTTPD上的网页,如图18.1所示。本节对SHTTPD的功能进行说明。 图18.1 多浏览器访问支持 18.1.1 SHTTPD启动参数可动态配置的需求 服务器dHTTP可以动态配置启动参数,例如服务器的侦听端口、支持客户端并发访问的数量、超时时间的设置、访问Web网页的路径等。采用参数配置和文件配置两种支持方式,在优先级上,参数配置比文件配置的优先级高,参数配置的选项值会覆盖文件配置的选项。 1.命令行参数配置 命令行配置的命令格式如下: SHTTPD –-ListenPort number –-MaxClient number –DocumentRoot path –CGIRoot path –DefaultFile filename –TimeOut seconds –ConfigFile filename 配置选项的含义如下: --ListenPort number:配置侦听端口,ListenPort为关键字,number为服务器的侦听端口。例如,如下命令使SHTTPD在8888端口侦听。默认设置为8080。 debain#SHTTPD –ListenPort 8888 --MaxClient number:最大支持客户端数量,MaxClient为关键字,number为客户端的数量,默认设置为4。 –DocumentRoot path:服务器搜寻Web网页的根目录,DocumentRoot为关键字,path为路径名称,必须设置为全路径,权限与运行SHTTPD的用户权限相同。默认路径为/usr/local/var/www。 –CGIRoot path:服务器查找CGI程序的位置,以此作为根目录。CGIRoot为关键字,path为路径,必须为全路径。默认路径为/usr/local/var/www/cgi-bin。 –DefaultFile filename:当用户没有指定目录下的文件名时,默认发送给客户端的文件。DefaultFile为关键字,filename为设置的文件名,默认为index.html。 –TimeOut seconds:客户端使用HTTP/1.1协议访问的时候,客户端长时间没有访问服务器时,服务器断开连接的超时时间。TimeOut为关键字,seconds为客户端上次访问的最长间隔,超过这个时间服务器自动断开此连接。默认值为3秒。 --ConfigFile filename:指定Web服务器SHTTPD的配置文件。ConfigFile为关键字,filename为配置文件的路径,包含配置文件的文件名。默认配置时配置文件为/etc/SHTTPD.conf。 2.文件配置 配置文件的名称为SHTTPD.conf,默认路径为“/etc”下。配置文件的格式如下: [#注释|[空格]关键字[空格]=[空格]value] 配置文件中的一行为#开头的注释或者选项配置,不支持空行,关键字右边的值不能含有空格。各部分如下定义: #注释:一行以#开始表示此行为注释,程序不对此行进行分析。 空格:可以为0个或者多个空格。 关键字:可以为如下的字符串,大小写必须完全匹配。 ListenPort:侦听端口。 MaxClient:最大客户端并行访问数。 DocumentRoot:Web网页根目录。 CGIRoot:CGI程序根目录。 DefaultFile:默认访问网页名称。 TimeOut:客户端连接空闲超时时间。 值:用户对关键字选项的配置,全部为字符串。值中不能有引号、换行符、空格(末尾的空格将被解释为值的一部分),ListenPort、TimeOut等不支持16进制的“0x”方式。下面为配置文件实例。 #SHTTPD Web服务器配置文件示例 #侦听端口 ListenPort = 80 #最大并发访问客户端数目 MaxClient = 8 #Web网页根目录 DocumentRoot = /home/www/ #CGI根目录 CGIRoot = /home/www/cgi-bin/ #默认访问文件名 DefaultFile = def

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档