在Internet上为了发布信息,用户必须运行Web Application服务器程序。但现有的服务器程序有时候并不能完全满足客户的特定需求,故此需要针对此类需求定制一个的Web Application服务器程序。
1.3 解决方案和所做主要工作
本次设计就是需要完成一个HTTP服务器的设计,实现HTTP服务器基本功能: 页面访问请求响应、HTML文件的解析以及数据发送。所以在完成设计之前,必须先了解HTTP服务器设计的原理与结构。
一般来说,HTTP服务器通常由以下几个部分组成:(1)服务器初始化部分.这部分主要完成HTTP服务器的初始化工作,如建立守护进程、创建TCP套接字、绑定端口、将TCP套接字转换成侦听套接字,进入循环结构,等待接收用户浏览器连接.(2)接收客户端请求.由于客户端请求以文本行的方式实现,所以服务器一般也以文本行为单位接收.(3)解析客户端请求.这部分工作比较复杂,需要解析出请求的方法、URL目标、可选的查询信息及表单信息.如果请求方法为HEAD,则简单地返回响应首部即可;如果方法是GET,则首先返回响应首部,然后将客户端请求的URL目标文件从服务器磁盘上读出,再发送给客户端。 (4)发送响应信息之后,关闭与客户机的连接。
在了解HTTP服务器的基本结构后,就需要更进一步了解如何实现服务器与协议的连接,那就需要用到SOCKET,这也是本次设计中的核心与重点。通过SOCKET,利用C#编程就能基本实现了HTTP服务器的设计,并能在window系统下运行良好的运行,实现HTTP服务器基本功能:页面访问请求响应、HTML文件的解析以及数据发送。
2 需求分析
2.1 用户需求
用户需求如下:
(1) HTTP服务器系统需要具有基本核心功能,界面简洁,易于管理。
(2) 能够支持并解析富媒体网页的显示。
(3) 能够支持并解析多种格式的网页文件。
(4) 能够支持并解析网页内嵌的基本脚本,以实现必要的动态效果。
(5) 能够支持并解析网页的排版效果,如页面内的图片、文字可具有一定的样式与风格。
(6) 能够支持基本客户端交互,如接收并处理用户的输入。
(7) 能够提供基本的功能设置,以便于内部管理服务器。
(8) 能够满足基本的多用户访问,实现较快的访问速度,且具有一定的安全性。
(9) 能够提供基本的应用服务接口,以便发布基于该服务器的应用程序。
2.2 功能
基于用户需求的第一点:界面美观,可以使用WinForm技术,简单强大,界面美观.它是一个HTTP服务器,所以必须符合HTTP协议规则,Http协议有很重要的几个部分就是HTTP的Request,Response,Session,这是HTTP服务器中必不可少的. HTTP服务下的Request,它主要功能是包含服务器的HTTP请求信息。一个请求消息是从客户端到服务器端的,在消息首行里包含方法,资源指示符,协议版本,所以HTTP 服务器这中需要包括HTTP方法GET / POST,Http 类型,完整的HTTP请求,请求的完整路径,请求路径,请求路径,URL参数。要做好Http服务器还需要两个功能服务,一个是Response,它接收和翻译一个请求消息后,服务器发出一个HTTP响应消息。所以需要一个HTTP Response,并把响应发回给Web浏览器。还有另一个必要的功能就是Session,它是用于服务器端,其主要功能是需要检查有多少人已过期,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间以及如果需要的话,可能还有一定的操作空间。满足以上三个功能后才能算一个相对完整的HTTP服务器。 HTTP服务器软件系统的设计与实现(3):http://www.751com.cn/jisuanji/lunwen_3170.html