


简易WEB服务器设计开题报告班级(学号) 姓名 指导老师 一、综述如今,上网已成为最热门话题,通过Internet,我们既能获得信息又能发布信息,而快速发展的Web技术更是给Internet应用供应了一个很好的发展方向当今的很多应用都是基于web技术的,如电子商务、视频会议、远程医疗诊断等WWW 是 World Wide Web (环球信息网)的缩写,也可以简称为 Web,中文名字为“万维网”它起源于1989年3月,由欧洲量子物理试验室 CERN(the European Laboratory for Particle Physics)所发展出来的主从结构分布式超媒体系统通过万维网,人们只要通过运用简洁的方法,就可以很快速便利地取得丰富的信息资料 由于用户在通过 Web 阅读器访问信息资源的过程中,无需再关切一些技术性的细微环节,界面简洁简洁操作长期以来,人们只是通过传统的媒体(如电视、报纸、杂志和广播等)获得信息,但随着计算机网络的发展,人们想要获得信息,已不再满意于传统媒体那种单方面传输和获得的方式,而希望有一种主观的选择性现在,网络上供应各种类别的数据库系统,如文献期刊、产业信息、气象信息、论文检索等等。
由于计算机网络的发展,信息的获得变得特别刚好、快速和便捷 到了1993年,WWW 的技术有了突破性的进展,它解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,使得 WWW 成为 Internet 上最为流行的信息传播方式 现在,Web 服务器成为 Internet 上最大的计算机群,可以说,Web 为 Internet 的普及迈出了开创性的一步, WWW 采纳的是客户/服务器结构,其作用是整理和储存各种WWW资源,并响应客户端软件的恳求,把客户所需的资源传送到Windows NT、UNIX 或 Linux 等平台上下图显示了星型和拓扑的网络连接:目前在市场上有20到30种Web应用服务器,每种服务器在实现对象组件支持、 分布式计算、部署的速度和易用程度上实行了不同方式 目前市场上主流Web服务器主要有以下几种产品:1.Apache,由SUN公司开发的Apache服务器可以运行在包括Linux等多种系统平台之上Apache支持很多特性,大部分通过编译的模块实现,如很有用的URL重写,定制日志文件以及过滤支持等2.Zeus Webserver 服务器,Zeus服务器在SMP (Symmetric Multi Processing的简称,意为对称多处理系统,内有很多紧耦合多处理器,这种系统的最大特点就是共享全部资源) 环境下有优秀的可伸缩性,并实现了常见的特性集合,如访问限制、动态内容产生和平安等。
3. iPlanet Enterprise Edition 4.1,Netscape公司开发的iPlanet具有现今高性能WEB服务器的特性,如具有很高的牢靠性、可用性、可维护性,系统高度可扩展性等特点,相对其它WEB服务器iPlanet还供应更多的JAVA功能4.AOLserver ,AOL公司开发的AOLserver 是一个多线程、可升级和扩展的WEB服务器5. Roxen WebServer ,在Roxen中可以运用RXML语言生成动态网页内容RXML是函数形式的服务器端XML脚本语言,它由Roxen服务器解析并执行6. Jigsaw,它由WWW组织(W3C)开发,W3C组织负责探讨和规定网络协议的标准(如HTTP)它运用JAVA语言开发,是胜利的面对对象、功能全面的服务器因为Jigsaw不受测试平台的限制,所以Jigsaw是一个具有活力的、拥有无限潜能的优秀WEB服务器在嵌入式系统的应用中,由于HTMI 语言的标准统一性,只要在设备里建立一个微型web服务器,人们就可以运用现有的Web阅读器与该设备进行双向交互、接收或发送信息它为我们管理、限制和监测各种各样的设备供应了一个很好的途径,只要设备接入了Internet,我们就可以在世界上的任何地方特别便利地限制、操纵那些配备有微型Web服务器的设备。
在Internet上为了发布信息,用户必需运行Web服务器程序但现成的服务器程序有时候不能满意全部人的要求,所以可以动手开发一个自己的Web服务器程序,其功能就可由设计者定制的功能和需求确定了二、选题依据 设计者工作在技术质量监督部门,主要从事管理和计量检测工作由于单位部门多,很多通知和材料须要经过复印多次传达,造成很多不必要的麻烦,而单位又采纳局域网设置,所以可以设计一个简易的WEB服务器,用来下发通知,表格,文件等,并且以后可以依据需求进一步改进,提高工作效率三、探讨内容本次设计就是须要完成一个简易的WEB服务器的设计,实现web服务器基本功能:页面访问恳求响应、HTML文件的解析以及数据发送所以在完成设计之前,必需先了解WEB服务器设计的原理与结构一个典型的微型Web服务器的结构可以用图l来描述:Web阅读器通常可以运用流行的IE或者其它的阅读器服务器端的TCP/IP协议是操作系统内嵌的,其信息流符合HTTP协议服务器中的HTTP引擎用来分析阅读器的恳求消息,并依据恳求做出相应的动作这些动作包括向阅读器发送一些静态页面或调用一些应用服务程序对于服务器中的静态web页面,可以运用一些常用软件如FrontPage等制作,以备Web服务器调用。
而服务器中的应用服务程序则用来扩展服务器所供应的服务从图l中可以看出,微型web服务器的核心就是:HTTP引擎HTTP协议是一种网络应用层的标准协议,Web阅读器和Web服务器之间的通信都是采纳HTTP协议来实现的因此只要是符合HTTP协议的通讯过程和数据内容,就可以运用阅读器作为客户端进行连接和传递要完成Web服务,除了网络通信链路的建立和拆除,之外至少还要有二方面的功能:“分折恳求” 和“构造响应”客户端与服务器交换数据之前,首先用TCP/IP建立连接,客户端向服务器恳求数据,服务器则向客户端响应并供应数据.客户端和服务器以HTTP协议进行恳求和响应.服务器和客户端只能为一次事务处理建立并维持连接,完成一次事务处理后便结束连接.每一个客户端向服务器发送恳求均以方法(Method)起先,后跟对象的URL.客户端一般要在上述信息中补充所采纳HTTP协议的版本号,其后跟一个回车换行(CRLF)字符对.依据恳求状况,阅读器可能在CRLF后加上阅读器按特殊的首部格式编码的信息.完成后,阅读器给恳求加上一个CRLF.还可依据恳求状况,把一个实体(MIME格式文档)加到整个恳求之后.一个HTTP方法事实上是一条吩咐,客户端用它来说明其恳求目的,常用的有GET,HEAD和POST.Web服务器收到恳求并解析之后,以一个HTTP响应消息响应客户端的恳求.这个响应消息通常以HTTP协议版本号起先,后面是三位状态码和一个缘由短语(Reason phrase),其后是一个CRLF,再后是恳求的信息(它被服务器以一种特殊的首部格式编码),最终,服务器加上一个CRLF.其后还可以有一个可选实体.状态码是三位数,它描述了服务器理解和满意恳求的状况,缘由短语是状态代码的一个简短说明.HTTP协议版本号、状态代码、缘由短语一起构成了状态行.上述分析不难看出,接收客户端恳求、解析客户端恳求、响应客户端恳求、向客户端回送恳求的结果是Web服务器所需完成的主要任务,Web服务器程序代码主要是为了完成这几项任务.一般来说,Web服务器通常由以下几个部分组成:(1)服务器初始化部分.这部分主要完成Web服务器的初始化工作,如建立守护进程、创建TCP套接字、绑定端口、将TCP套接字转换成侦听套接字,进入循环结构,等待接收用户阅读器连接.(2)接收客户端恳求.由于客户端恳求以文本行的方式实现,所以服务器一般也以文本行为单位接收.(3)解析客户端恳求.这部分工作比较困难,须要解析出恳求的方法、URL目标、可选的查询信息及表单信息.假如恳求方法为HEAD,则简洁地返回响应首部即可;假如方法是GET,则首先返回响应首部,然后将客户端恳求的URL目标文件从服务器磁盘上读出,再发送给客户端;假如是POST,则比较麻烦,首先要调用相应的CGI程序,然后将用户表单信息传给CGI程序,CGI程序依据表单内容完成相应的工作,并将结果数据返回.(4)发送响应信息之后,关闭与客户机的连接.四、实现方法及预期目标在了解WEB服务器的基本结构后,就须要更进一步了解如何实现服务器与协议的连接,那就须要用到WINSOCK,这也是本次设计中的核心与重点。
Winsock是一个封装了Winsock API函数的ActiveX控件,它可以被MicrosoftAccess,Visual Basie,Visual C++,LabVIEW等软件调用,实现网络编程现代计算机利用操作系统在不同通信协议层次上供应的接口实现网络进程平安通信,主要运用软件工程的方法(分层次、分模块等技术)实现作为网络上公认的事实的通信标准,TCP/IP协议成为现代计算机操作系统通过网络编程实现网络通信的重要部分而WINSOCK就是服务器与协议间一个必不行少的桥梁,它建立一条牢靠的、基于连接的通信接口用Winsock控件编写网络通信程序,不须要了解TCP/IP的详细细微环节或调用底层Winsock API,通过设置Winsock控件的属性和调用该控件的方法,可以很简洁地连接到远程计一算机并进行双向的数据交换,客户机和服务器在该链接上传输数据,客户端发出恳求,服务器监听来自客户端的恳求,并做出响应服务 下图就显示了WINSOCK在服务器设计中的作用 应用程序1应用程序2应用程序n网络程序设计,如Winsock等网络通讯协议,如TCP/IP物理通讯介质操作系统,如Windows通过WINSOCK,利用VC++编程就能基本实现了简易的WEB服务器的设计,并能在window系统下运行良好的运行,实现web服务器基本功能:页面访问恳求响应、HTML文件的解析以及数据发送。
五、对进度的详细支配第1~3周 起先调研以及搜集文献资料,进行外文文献翻译第4~6周 对要编译的程序的语言进行深化学习,完成界面设计第7~8周 应答模块侦听模块设计第9~10周 服务器端以及客户端操作 socket,完成设计的50%~60% 第11~12周 完成设计的收尾工作,调试系统第13~15周 全部完成本次设计,并完成毕业设计(论文)初稿第15~16周 修改并打印毕业设计(论文),打算答辩第16~17周 毕业设计答辩六、参考文献[1] 李大亮,曲波.嵌入式Web服务器的设计与实现[J].鞍山科技报,2023,27(2)[2] 罗惟,王萍.一个web服务器的设计[J].现代电子技术,2023,157(14)[3] 杨阳. 基于URL的Web服务器数据访问[J].网络技术,2023,(10)[4] 刘波涛,郭麦成. 微型WEB服务器的设计与实现[J].国外电子测量技, 2023, (1) [5] 贾立华,林碧英. 在超文本协议中实现会话的若干方法[J].现代电力, 2023, (2) [6] 卢成梁. 简易WEB服务器应答模块设计与探讨市场周刊[J]., 2023, (4)[7] 王茂林 贺富强,Socket 在局域网通信中的应用[J].2023,(5)[8] 周小松,朱雄军,基于TCP协议的Socket网络编程模式部署及实现,软件技术探讨[J],2023(9)[9] 咏刚,Web开发技术发展史话指导老师: 年 月 日督导老师: 年 月 日领导小组审查看法:审查人签字: 年 月 日。