毕业论文嵌入式WEB服务器.docx
《毕业论文嵌入式WEB服务器.docx》由会员分享,可在线阅读,更多相关《毕业论文嵌入式WEB服务器.docx(65页珍藏版)》请在冰豆网上搜索。
太原理工大学毕业设计(论文)用纸
嵌入式WEB服务器
摘 要
Linux操作系统是一个开放源代码的免费操作系统,它不仅有安全、稳定、成本低的特点,而且很少发现有病毒传播。
近年来,随着linux操作系统在我国的不断普及,越来越多的服务器、工作站和个人电脑开始使用linux软件。
基于linux具有稳定、可靠、安全和强大的网络功能这些优点,本文选择在linux环境下实现一个Web服务器。
本文研究了HTTP协议实现了数据的传输,阐述了采用linux套接字编程接口的方法实现HTTP协议的方案,详细分析了客户端和服务器之间的通信过程。
本文在linux系统下实现一个Web服务器程序,在局域网内,将此服务器程序在一台计算机上运行,使网内其它计算机访问这台服务器时,实现客户端和服务器以HTTP协议进行请求和响应的功能。
此外还编写了Web浏览器。
Web服务器实现的全部代码采用linux下的C语言编程,可进一步提高系统运行速度,并且增强了系统的安全性和可靠性。
Web浏览器代码是采用C++和Qt的编程,界面设计是用Qt实现的。
关键词:
嵌入式;linux操作系统;HTTP协议;Web服务器;Socket;Internet;Qt
ii
EmbeddedWEBserver
ABSTRACT
TheLinuxoperatesystemisafreeoperatesystemwhichopensasourcecode.Notonlyithascharacteristicssuchassafe,stability,andthelowcost,butalsoitseldomdissemiantestheVirus.Inrecentyears,alongwiththeLinuxoperatesysteminourcountrymakeswidelyavailablecontinuously,moreandmoreservers,workstationsandpersonalcomputerstartusingLinuxsoftware.AstheLinuxopertingsystemhasthefunctionofstablereliable,safeandformidablenetwork,torealizeaWebserverintheLinuxenvironmentisthebestchoice.
ThispaperintroducesdesignandimplementofWebserverinLinuxoperatingsystem.TheproblemofhowtorealizedatatransmissionbyHTTPprotocolwhichbasedonLinuxisvaluabletoresearch.ThispaperexpoundsrealizingschemeforHTTPprotocol,andgivesoutprotocolcommunicationmodule,wihthemethodofLinuxsocketprogrammingintefface,andanalyzethecommunicationprocessbetweenclientandserver.ThispaperrealizesaWebserverprocedureinLinuxoperatingsysytem.Inthelocalareanetwork,ifthisserverprocedurerunsonacomputer,whichcanrealizesthefunctionthattheclientrequestsandtheserverrespondsbyHTTPagreement,whenothercomputersinthenetvisitit.
ThecompletecodeoftheWebserver’srealizationusestheClanguageprogramminginLinuxoperatingsystem,whichmayfurtherenhancetherunningrate,andstrengthenedthesecurityandreliabilityofthesystem.ThecodeofWebbrowser’srealizationusesTheC++languageandQt,
Keywords:
Embedded;Linuxoperatingsystem;HTTPprotocol;Webserver;Socket;
目 录
vi
摘 要 I
ABSTRACT II
1绪论 1
1.1课题的研究意义 1
1.2国内外研究现状 1
1.3论文研究内容和主要工作 2
2相关理论与知识 3
2.1Linux操作系统简介 3
2.2Web服务器的概念 3
2.3WEB服务器基本构架 4
2.3.1WEB服务器和浏览器 4
2.3.2WEB页面 6
2.4WEB系统的基本原理是请求/响应 6
2.5WEBB/S的通信 7
2.5.1分析请求 8
2.5.2构造响应 8
2.6Linux下Socket网络编程基础知识 9
2.6.1Socket简介 9
2.6.2Socket的定义 . 9
2.6.3Socket结构体 10
2.6.4Socket函数库 10
2.6.5Socket编程的基本过程 11
2.7HTTP协议 12
2.7.1HTTPURL 12
2.7.2HTTP请求 12
2.7.3HTTP响应 13
2.7.4HTTP消息报头 13
3WEB服务器的设计思路与方案 17
3.1web服务器的模型 17
3.2web服务器如何工作 17
3.3web服务器的设计思路 17
3.3.1web服务器的设计思路 17
3.3.2web服务器的功能 18
3.3.3Web服务器的功能模块图 18
3.4web服务器的设计方案 19
3.4.1Web服务器的工作流程 19
3.4.2web服务器的核心设计思想 20
3.4.3总体设计的关键点 20
4LINUX下WEB服务器的设计与实现 21
4.1客户端与服务器建立连接 21
4.1.1基本概念 21
4.1.2建立一个Socket 21
4.1.3定义程序Socket的使用 22
4.I.4 使用配置Sockct 22
4.1.5 连接Socket 23
4.2客户端和服务器端之间的请求响应过程 24
4.2.1整体流程分析 24
4.2.2服务器接受请求 25
4.2.3服务器处理客户端的请求并作出响应 25
4.3Linux下Web服务器的运行与应用 29
5Web服务器的实现 31
5.1客户端与服务器建立请求 31
6 总结 33
6.1设计内容总结 33
6.2设计结论 33
参考文献 35
致 谢 37
外文文献 38
中文翻译 48
1 绪论
1.1课题的研究意义
Internet的迅猛发展,传统的Client/server体系结构(客户机/服务器),渐渐的在某些方面显示出它的局限性,Browser/server结构(浏览器/服务器)的出现恰恰弥补了这种缺陷。
B/S方式已成为一种时尚,大部分网络应用系统都是以这种B/S方式与网络用户交换信息。
B/S的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的Web服务器。
显然,Web服务器在B/S方式下起着决定性的作用,因此,一般互联网站都采用功能强大的通用Web服务器。
随着网络各个核心部分业务量的提高,其访问量和数据流量快速增长,处理能力和计算强度也相应增大,使得单一设备根本无法承担,而且许多企业级应用系统的应用请求具有突发性和紧急性的特点,当应用访问急剧上升时,容易造成网络瓶颈。
解决这一问题的办法是采用多台嵌入式Web服务器为一个应用服务,集群负载均衡机制就是为解决多个网络设备之间实现合理的业务量分配而提出的。
1.2国内外研究现状
目前在市场上有20到30种Web应用服务器,每种服务器在实现对象组件支持、分布式计算、部署的速度和易用程度上采取了不同方式。
目前市场上主流Web服务器主要有以下几种产品:
1.Apache,由SUN公司开发的Apache服务器可以运行在包括Linux等多种系统平台之上。
Apache支持许多特性,大部分通过编译的模块实现,如很有用的URL重写,定制日志文件以及过滤支持等。
2.ZeusWebserver3.3.8服务器,Zeus服务器在SMP(SymmetricMultiProcessing的简称,意为对称多处理系统,内有许多紧耦合多处理器,这种系统的最大特点就是共享所有资源) 环境下有优秀的可伸缩性,并实现了常见的特性集合,如访问控制、动态内容产生和安全等。
3.iPlanetEnterpriseEdition4.1,Netscape公司开发的iPlanet具有现今高性能WEB服务器的特性,如具有很高的可靠性、可用性、可维护性,系统高度可扩展性等特点,相对其它WEB服务器iPlanet还提供更多的JAVA功能。
4.AOLserver3.3.1,AOL公司开发的AOLserver3.3.1是一个多线程、可升级和扩展的WEB服务器。
5.Roxen WebServer 2.1.31,在Roxen中可以使用RXML语言生成动态网页内容。
RXML是函数形式的服务器端XML脚本语言,它由Roxen服务器解析并执行。
6.Jigsaw,它由WWW组织(W3C)开发,W3C组织负责研究和规定网络协议的标准(如
HTTP)。
它使用JAVA语言开发,是成功的面向对象、功能全面的服务器。
因为Jigsaw
21
不受测试平台的限制,所以Jigsaw是一个具有活力的、拥有无限潜能的优秀WEB服务器。
在嵌入式系统的应用中,由于HTMI 语言的标准统一性,只要在设备里建立一个微型web服务器,人们就可以使用现有的Web浏览器与该设备进行双向交互、接收或发送信息。
它为我们管理、控制和监测各种各样的设备提供了一个很好的途径,只要设备接入了Internet,我们就可以在世界上的任何地方十分方便地控制、操纵那些配备有微型Web服务器的设备。
在Internet上为了发布信息,用户必须运行Web服务器程序。
但现成的服务器程序有时候不能满足所有人的要求,所以可以动手开发一个自己的Web服务器程序,其功能就可由设计者定制的功能和需求决定了。
1.3论文研究内容和主要工作
本次设计就是需要完成一个简易的WEB服务器的设计,实现web服务器