一个简单的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方法。 方法。 方法 __方法。 方法。 方法 __方法。 方法。 方法 HTTP服务器至少应该实现 服务器至少应该实现Get和Head方法,可能的话 方法, 服务器至少应该实现 和 方法 也实现__方法。 方法。 ,也实现 方法
一个简单的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 比较 .
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论