第18章 一个简单的Web服务器的例子SHTTPDppt课件.ppt

第18章 一个简单的Web服务器的例子SHTTPDppt课件.ppt

ID:59201991

大小:773.50 KB

页数:48页

时间:2020-09-26

第18章  一个简单的Web服务器的例子SHTTPDppt课件.ppt_第1页
第18章  一个简单的Web服务器的例子SHTTPDppt课件.ppt_第2页
第18章  一个简单的Web服务器的例子SHTTPDppt课件.ppt_第3页
第18章  一个简单的Web服务器的例子SHTTPDppt课件.ppt_第4页
第18章  一个简单的Web服务器的例子SHTTPDppt课件.ppt_第5页
资源描述:

《第18章 一个简单的Web服务器的例子SHTTPDppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第18章一个简单的Web服务器的例子SHTTPD在第六章的用户空间网络程序简介中对HTTP协议进行了简单的介绍,本章将实现一个简单的Web服务器程序—SimpleHTTPDemo,简称SHTTPD。这个Web服务器可以实现简单的用户配置、静态网页相应等功能。按照如下步骤进行设计和编写程序。定义需求,明确需求定义。对需求进行分析,明确实现的方式和关键的问题,进行模块设计按照模块设计,进行编码最后进行编译和测试18.1SHTTPD的需求分析Web服务器SHTTPD可以实现动态配置、多客户访问、CGI支持、支持HTTP

2、/1.0版本,最终能实现简单的可用型Web服务器,多种浏览器可以正常访问SHTTPD上的网页。18.1.1SHTTPD启动参数可动态配置的需求服务器dHTTP可以动态配置启动参数,例如服务器的侦听端口、支持客户端并发访问的数量、超时时间的设置、访问web网页的路径等。采用参数配置和文件配置两种支持方式,在优先级上,参数配置比文件配置的优先级高,参数配置的选项值会覆盖文件配置的选项。1.命令行参数配置2.文件配置18.1.1SHTTPD启动参数可动态配置的需求18.1.2SHTTPD的多客户端支持的需求SHTTPD

3、支持多个客户端的并发连接,在同一时刻允许多个客户端同时成功获得服务器上的网页资源,这是现代服务器的基本属性。SHTTPD启动时的处理单元初始化了两个,并发访问数量为2,当客户端增加时,会自动根据现场情况增加处理单元,最大为4个。18.1.2SHTTPD的多客户端支持的需求18.1.3SHTTPD支持方法的需求HTTP协议中定义了八种方法,用来来表示对指定数据的操作的性质和特点:HEAD方法。GET方法。POST方法。PUT上传指定资源DELETE删除指定资源TRACE方法。OPTIONS方法。CONNECT方法。

4、HTTP服务器至少应该实现Get和Head方法,可能的话,也实现OPTIONS方法。18.1.4SHTTPD支持的HTTP协议版本的需求超文本传输协议从开始出现到现在已经演化出了很多版本,它们中的大部分都是向下兼容的。在RFC2145中描述了HTTP版本号的用法。客户端在请求的时候先告诉服务器客户端所采用的HTTP协议版本号,而后者则在响应中采用相同或者更早的协议版本。目前版本有0.9、1.0和1.1版本。HTTP/0.9版本HTTP/1.0版本HTTP/1.1版本18.1.5SHTTPD支持头部的需求HTTP协

5、议的头部有很多内容,本书中仅介绍几个常用的头域。主机头域:参考头域:时间头域:范围头域:用户代理头域:18.1.6SHTTPD定位URI的需求URI是UniversalResourceIdenty的简写,是同一资源标识符的意思,它是一种格式化的字符串,通过名称、地址或者其他别的特征来确定网络资源的位置。URI已经广为人知,例如WWW地址、通用文件标识符、统一资源定位器(URL)、统一资源名称(URN)等。1.URI的一般语法2.HTTPURL3.URI比较18.1.7SHTTPD支持CGI的需求CGI脚本是任何运

6、行在Web服务器上的程序,CGI是CommonGatewayInterface的缩写,“通用网关接口”的意思。简单的讲,CGI脚本是一个可以运行在Web服务器上的程序,有浏览器的输入触发。使用这种脚本,可以执行服务器端的任何操作,但CGI脚本通常用于构建服务器程序和其他系统程序,例如数据库之间的桥梁。CGI脚本可能是一个脚本,或者一个二进制可执行程序,也就是说它可能是一个编译好的程序或者批命令文件或者其他可执行的东西。它的一个共同的特性是可以执行并将结果反馈回来。CGI脚本可以利用如下的两种方法使用:作为一个表单

7、的ACTION的响应对象的URL。18.1.8SHTTPD错误代码的需求错误代码,即状态码是试图理解和满足请求的三位数字的整数码。状态码的第一位数字定义应答类型,后两位数字没有任何类型任务。第一位数字有五种值:-1xx:报告的,接收到请求,继续进程。-2xx 成功,操作成功的收到。-3xx 重发,为了完成请求,必须采取进一步措施。-4xx 客户端出错,请求包括错的顺序或不能完成。-5xx 服务器出错 ,服务器无法完成显然有效的请求。18.2SHTTPD的模块分析和设计要实现SHTTPD服务器,需要对服务器的架构和

8、模块进行仔细的分析,例如客户、服务器模式的选型,CGI的实现方法、命令行脚本的解析等。本节对18.1小结中的需求进行仔细的分析,提供一种解决的方法。18.2.1SHTTPD的主函数为了更好的展示web服务器的架构,SHTTPD的主函数设计为十分简单的模型。主函数仅仅调用必要的功能函数,具体细节有各功能函数实现。主函数完成四个部分的功能:初始化服务器配置参数、套接字初始化的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。