摘要Linux 环境下用于发布网页的 Web 服务器软件功能无所不包,但软件规模庞大,不适于小型局域网的应用系统。本文设计了一个多线程 web 服务器架构,并基于 boost 库实现了该 web 服务器。它以守护进程的形式,搭建了一个 linux 上的HTTP服务,并支持cookies。文中详细探讨了该服务的设计架构,研究了提升该服务效率的方法,并结合理论和测试将服务的效率最大化。此外,又基于linux下的Qt实现了一个web管理软件,能够对该web服务器进行参数配置,并具有网页发布和文件管理的功能。通过将web服务模块和Qt的管理模块的结合,构建了一个可用性比较强的轻量级web服务器。60398
毕业论文关键词 轻量级 web服务器 HTTP boost Qt
Title Lightweight Web Server Based On Linux
Abstract There are different kinds of web servers based on Linux. However, due to the complexity of these servers, they are not appropriate for LAN. Therefore, in this paper, I design a multi-thread web server architecture. And based on this architecture, I write a lightweight web server using boost. This server runs as a daemon to deal with HTTP requests. It also supports cookies. I describe this server’s architecture and try to find ways to improve the server’s efficiency, and finally improve it by researching and testing. A web-managing program is also made using Qt. This program can help to set parameters of the web server and deal with basic operations of adding and deleting web pages. Combining the server and the web-managing program, we can make a highly available lightweight web server.
Keywords lightweight web server HTTP boost Qt
1 引言 1
1.1轻量级web服务器的研究背景 1
1.2 轻量级web服务器的现状 3
1.3 本次设计的目标3
1.4 研究方法和技术路线4
1.5 本论文的结构5
2 web 服务器的工作原理和关键技术6
2.1 B/S 架构6
2.2 HTTP 协议6
2.3 web 相关技术8
3 轻量级 web 服务器的设计9
3.1 基本模块9
3.2 模块剖析9
4 轻量级 web 服务器的具体实现11
4.1web 服务模块实现11
4.2web 管理模块实现16
5 轻量级 web 服务器的相关测试21
5.1 测试工具21
5.2 多线程的测试21
5.3 strand和mutex测试25
5.4 cookie 的测试25
5.5 网页发布功能测试26
5.6 测试总结27
结论 29
致谢 30
参考文献31
1 引言 当前,社会已经全面进入了网络时代。互联网的形式已经不再单一,丰富多彩的网络服务不断地融入人们的生活。然而,在这些网络应用的背后,我们不能忽视那些基础的网络服务,例如最基本的web服务。今天我就想探讨一下有关于web服务器的问题。
1.1 轻量级 web 服务器的研究背景 1.1.1 web服务器 web 服务作为网络时代的产物,对社会的发展起到了巨大的作用。web 服务器发展初期,只能处理简单HTML文档和图片。而到了如今,web服务器的功能越来越多,为人们的生活、工作创造了很大的便利。 Web 已经从 1.0 发展到 2.0,更侧重于交互作用,他强调用户既是网站内容的消费者,也是网站内容的制造者[1]。Web3.0 甚至更多的概念已经被提出。我们可能不喜欢web3.0的形式,但是我们想热情的拥抱这项技术[2]。 在web安全协议方面,已经提出了大量实用的安全协议,具有代表性的有:IPSec协议,SSL/TLS协议, PGP协议,PEM协议,S-HTTP协议,S/MIME协议等[3]。 众所周知,市面上流行了一些主流的 web 服务器,如 Aapache、IIS 等等。下面两个图反映了当今主流web服务器的格局[4]: 在这些主流web服务器的支撑下,众多的网站在我们的互联网中被架设了出来,构成了一个内容丰富的网络世界源]自=751-^论-文"网·www.751com.cn/ 。 Linux环境下轻量级Web服务器的设计与实现:http://www.751com.cn/jisuanji/lunwen_65868.html