Web服务器SHTTPD 可以实现动态配置、多客户访问、CGI支持、支持HTTP/1.0版本,最终能实现简单的可用型Web服务器,多种浏览器可以正常访问SHTTPD上的网页。
SHTTPD 启动参数可动态配置的需求
服务器dHTTP可以动态配置启动参数,例如服务器的侦听端口、支持客户端并发访问的数量、超时时间的设置、访问Web网页的路径等。采用参数配置和文件配置两种支持方式,在优先级上,参数配置比文件配置的优先级高,参数配置的选项值会覆盖文件配置的选项。
#SHTTPD Web 服务器配置文件示例 #侦听端口 ListenPort = 80 #最大并发访问客户端数目 MaxClient = 8 #Web 网页根目录 DocumentRoot = /home/www/ #CGI 根目录 CGIRoot = /home/www/cgi-bin/ #默认访问文件名 DefaultFile = default.htm #客户端空闲连接超时时间 TimeOut = 5
SHTTPD 的多客户端支持的需求
当超过4个客户端并发访问时, SHTTPD服务器会将后来的请求放在排序队列中,当处理单元空闲时再响应其请求
SHTTPD支持方法的需求
HTTP协议中定义了8种方法,用来表示指定数据的操作性质和特点:
HEAD 方法:
这种方法要求与相应GET请求的方式一样,但是没有响应体(response body) ,即没有内容。这种方法对于获得内容的信息很有作用,因为它不能获取数据的内容,但是能获得内容的大小、时间等信息。
GET方法:
这种方法用来请求指定的资源,它是目前网上最常用的方法。这种方法要求对请求的网络资源进行定位和内容传输。
POST方法:
这种方法用来向指定的资源提交需要处理的数据,与GET方法的区,别是这些数据写在请求的内容里。
PUT:
上传指定资源。
DELETE:
删除指定资源
TRACE方法:
这种方法告诉服务器端返回收到的请求。客户端可以通过此方法察看在请求过程中中间服务器添加或者改变了哪些内容。
OPTIONS方法:
这种方法返回服务器在指定URL上支持的HTTP方法。通过请求“*”而不是指定的资源,这个方法可以用来检查网络服务器的功能。
CONNECT方法:
这种方法将请求的连接转换成透明的TCP/IP通道,通常用来简化通过非加密的HTTP代理的SSL-加密通信(HTTPS)
SHTTPD 支持的HTTP 协议版本的需求
客户端在请求的时候先告诉服务器客户端所采用的HTTP协议版本号,而后者则在响应中采用相同或者更早的协议版本(向下