一个简单的Web服务器的例子SHTTPD
一个简单的Web服务器的例子SHTTPD
第18章 18章
一个简单的Web服务器的例子SHTTPD 一个简单的Web服务器的例子SHTTPD Web服务器的例子
在第六章的用户空间网络程序简介中对HTTP协议进行 协议进行 在第六章的用户空间网络程序简介中对 了简单的介绍,本章将实现一个简单的Web服务器程序 服务器程序— 了简单的介绍,本章将实现一个简单的 服务器程序 SimpleHTTPDemo,简称 ,简称SHTTPD。这个 。这个Web服务器可以 服务器可以 实现简单的用户配置、静态网页相应等功能。 实现简单的用户配置、静态网页相应等功能。按照如下步骤 进行设计和编写程序。 进行设计和编写程序。 定义需求,明确需求定义。 定义需求,明确需求定义。 对需求进行分析,明确实现的方式和关键的问题, 对需求进行分析,明确实现的方式和关键的问题,进 行模块设计 按照模块设计, 按照模块设计,进行编码 最后进行编译和测试
一个简单的Web服务器的例子SHTTPD
18.1
SHTTPD的需求分析 SHTTPD的需求分析
Web服务器 服务器SHTTPD可以实现动态配置、多客户访问 可以实现动态配置、 服务器 可以实现动态配置 支持、 版本, 、CGI支持、支持 支持 支持HTTP/1.0版本,最终能实现简单的可用型 版本 Web服务器,多种浏览器可以正常访问 服务器, 上的网页。 服务器 多种浏览器可以正常访问SHTTPD上的网页。 上的网页
一个简单的Web服务器的例子SHTTPD
SHTTPD启动参数可动态配置的需求 18.1.1 SHTTPD启动参数可动态配置的需求
服务器dHTTP可以动态配置启动参数,例如服务器的 可以动态配置启动参数, 服务器 可以动态配置启动参数 侦听端口、支持客户端并发访问的数量、超时时间的设置、 侦听端口、支持客户端并发访问的数量、超时时间的设置、 访问web网页的路径等。采用参数配置和文件配置两种支持 网页的路径等。 访问 网页的路径等 方式,在优先级上,参数配置比文件配置的优先级高, 方式,在优先级上,参数配置比文件配置的优先级高,参数 配置的选项值会覆盖文件配置的选项。 配置的选项值会覆盖文件配置的选项。 1.命令行参数配置 . 2.文件配置 .
一个简单的Web服务器的例子SHTTPD
SHTTPD启动参数可动态配置的需求 18.1.1 SHTTPD启动参数可动态配置的需求
一个简单的Web服务器的例子SHTTPD
SHTTPD的多客户端支持的需求 18.1.2 SHTTPD的多客户端支持的需求
SHTTPD支持多个客户端的并发连接,在同一时刻允 支持多个客户端的并发连接, 支持多个客户端的并发连接 许多个客户端同时成功获得服务器上的网页资源, 许多个客户端同时成功获得服务器上的网页资源,这是现代 服务器的基本属性。 服务器的基本属性。SHTTPD启动时的处理单元初始化了两 启动时的处理单元初始化了两 并发访问数量为2,当客户端增加时, 个,并发访问数量为 ,当客户
端增加时,会自动根据现场 情况增加处理单元,最大为4个 情况增加处理单元,最大为 个。客户端欢迎 欢迎
便携电脑
便携电脑
池 处理单元2
sHTTPD 处理单元2
一个简单的Web服务器的例子SHTTPD
SHTTPD的多客户端支持的需求 18.1.2 SHTTPD的多客户端支持的需求
一个简单的Web服务器的例子SHTTPD
SHTTPD支持方法的需求 18.1.3 SHTTPD支持方法的需求
HTTP协议中定义了八种方法,用来来表示对指定数据 协议中定义了八种方法, 协议中定义了八种方法 的操作的性质和特点: 的操作的性质和特点: HEAD方法。 方法。 方法 GET方法。 方法。 方法 POST方法。 方法。 方法 PUT上传指定资源 上传指定资源 DELETE 删除指定资源 TRACE方法。 方法。 方法 OPTIONS方法。 方法。 方法 CONNECT方法。 方法。 方法 HTTP服务器至少应该实现 服务器至少应该实现Get和Head方法,可能的话 方法, 服务器至少应该实现 和 方法 也实现OPTIONS方法。 方法。 ,也实现 方法
一个简单的Web服务器的例子SHTTPD
SHTTPD支持的HTTP协议版本的需求 支持的HTTP 18.1.4 SHTTPD支持的HTTP协议版本的需求
超文本传输协议从开始出现到现在已经演化出了很多 版本,它们中的大部分都是向下兼容的。 版本,它们中的大部分都是向下兼容的。在RFC 2145中描 中描 述了HTTP版本号的用法。客户端在请求的时候先告诉服务 版本号的用法。 述了 版本号的用法 器客户端所采用的HTTP协议版本号,而后者则在响应中采 协议版本号, 器客户端所采用的 协议版本号 用相同或者更早的协议版本。目前版本有0.9、 和 版 用相同或者更早的协议版本。目前版本有 、1.0和1.1版 本。 HTTP/0.9版本 版本 HTTP/1.0版本 版本 HTTP/1.1版本 版本
一个简单的Web服务器的例子SHTTPD
SHTTPD支持头部的需求 18.1.5 SHTTPD支持头部的需求
HTTP协议的头部有很多内容,本书中仅介绍几个常用 协议的头部有很多内容, 协议的头部有很多内容 的头域。 的头域。 主机头域: 主机头域: 参考头域: 参考头域: 时间头域: 时间头域: 范围头域: 范围头域: 用户代理头域: 用户代理头域:
一个简单的Web服务器的例子SHTTPD
18.1.6
SHTTPD定位URI的需求 SHTTPD定位URI的需求 定位URI
URI是Universal Resource Identy的简写,是同一资 是 的简写, 的简写 源标识符的意思,它是一种格式化的字符串,通过名称、 源标识符的意思,它是一种格式化的字符串,通过名称、地 址或者其他别的特征来确定网络资源的位置。 址或者其他别的特征来确定网络资源的位置。URI已经广为 已经广为 人知,例如WWW地址、通用文件标识符、统一资源定位器 地址、 人知,例如 地址 通用文件标识符、 )、统一资源名称 (URL)、统一资源名称(URN)等。 )、统一资源名称( ) 1.URI的一般语法 . 的一般语法 2.HTTP URL . 3.URI 比较 .
一个简单的Web服务器的例子SHTTPD
SHTTPD支持CGI的需求 支持CGI 1
8.1.7 SHTTPD支持CGI的需求
CGI脚本是任何运行在 脚本是任何运行在Web服务器上的程序,CGI是 服务器上的程序, 脚本是任何运行在 服务器上的程序 是 Common Gateway Interface的缩写,“通用网关接口”的 的缩写, 通用网关接口” 的缩写 意思。简单的讲, 脚本是一个可以运行在Web服务器上 意思。简单的讲,CGI脚本是一个可以运行在 脚本是一个可以运行在 服务器上 的程序,有浏览器的输入触发。使用这种脚本, 的程序,有浏览器的输入触发。使用这种脚本,可以执行服 务器端的任何操作, 务器端的任何操作,但CGI脚本通常用于构建服务器程序和 脚本通常用于构建服务器程序和 其他系统程序,例如数据库之间的桥梁。 其他系统程序,例如数据库之间的桥梁。 CGI脚本可能是一个脚本,或者一个二进制可执行程序 脚本可能是一个脚本, 脚本可能是一个脚本 ,也就是说它可能是一个编译好的程序或者批命令文件或者 其他可执行的东西。 其他可执行的东西。它的一个共同的特性是可以执行并将结 果反馈回来。 果反馈回来。 CGI脚本可以利用如下的两种方法使用:作为一个表单 脚本可以利用如下的两种方法使用: 脚本可以利用如下的两种方法使用 的响应对象的URL。 的ACTION的响应对象的 的响应对象的 。
一个简单的Web服务器的例子SHTTPD
SHTTPD错误代码的需求 18.1.8 SHTTPD错误代码的需求
错误代码, 错误代码,即 …… 此处隐藏:3315字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




