linux下http服务器设计-2

上传人:suns****4568 文档编号:91123241 上传时间:2019-06-23 格式:DOC 页数:25 大小:319.79KB
返回 下载 相关 举报
linux下http服务器设计-2_第1页
第1页 / 共25页
linux下http服务器设计-2_第2页
第2页 / 共25页
linux下http服务器设计-2_第3页
第3页 / 共25页
linux下http服务器设计-2_第4页
第4页 / 共25页
linux下http服务器设计-2_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《linux下http服务器设计-2》由会员分享,可在线阅读,更多相关《linux下http服务器设计-2(25页珍藏版)》请在金锄头文库上搜索。

1、 毕业论文设计 毕业论文毕业设计(论文)题目:Linux下HTTP服务器设计学院:信息与自动化学院专业:通信工程年级:学生姓名:指导教师单位:通信工程系指导教师姓名:指导教师职称: 毕业设计(论文)题目:Linux下HTTP服务器设计学院:信息与自动化学院专业:通信工程年级:学生姓名:指导教师单位:指导教师姓名:指导教师职称:目录摘要vAbstractvi前言vii第一章 绪 论11.1课题背景11.2 课题研究的目的和意义1第二章HTTP服务器的相关理论基础32.1 Linux系统简介32.2 TCP/IP协议分析42.2.1 TCP/IP协议概述42.2.2 网络层协议(IP协议)52.2

2、.3 传输层协议(TCP和UDP)72.3 Linux下网络编程介绍92.3.1 Socket简介102.3.2 Socket创建102.3.3 Socket配置112.3.4 建立连接132.3.5 数据传输142.3.6 结束传输152.3.7 Socket编程的基本步骤162.3.8 I/O复用介绍162.3.9 Linux下的I/O复用支持172.3.10 Linux下EPOLL的使用192.4 HTTP协议分析222.4.1 HTTP协议概述222.4.2 HTTP工作原理232.4.3 HTTP请求报文分析252.4.3 HTTP响应报文分析262.4.4 HTTP/1.0主要特征

3、272.4.5 HTTP/1.1简介282.5 本章小结29第三章HTTP服务器设计303.1需求分析303.2 HTTP服务器模型303.3 HTTP服务器实现目标313.4 HTTP服务器设计思路313.5 HTTP服务器功能模块图323.6 HTTP服务器工作流程323.7 HTTP服务器核心设计思想353.8 本章小结35第四章 HTTP服务器实现364.1 网络连接模块364.1.1 数据结构与接口设计364.1.2 epoll接口实现374.2 HTTP协议处理模块394.2.1 数据结构与接口设计394.3 HTTP服务提供模块424.3.1 数据结构与接口设计424.4 HTT

4、P服务主程序444.5 HTTP服务器运行与测试454.5.1 HTTP服务器运行454.5.2 HTTP服务器测试464.6 本章小结49第五章 结论50第六章 总结与体会51谢辞52参考文献53附录55附录1 软件使用说明55附录2 英文原文57附录3 英文翻译58 摘要Linux操作系统是一个开放源代码的免费操作系统。它不仅有安全、稳定、成本低的特点,而且很少发现有病毒传播。HTTP服务器是web服务器的一种,它是基于超文本传输协议HTTP的服务器。基于Linux具有稳定、可靠、安全和强大的网络功能这些优点,使得其主要应用于服务器领域。所以本文选择在Linux环境下实现一个HTTP服务器

5、。本文研究了Linux下HTTP服务器的设计与实现。在Linux系统中采用HTTP协议和浏览器完成数据的传输。阐述了Linux套接字编程的方法、EPOLL等I/O复用编程模型。详细分析了HTTP协议内容以及客户端与服务器之间的通信过程。本文实现了客户端浏览器和服务器端以HTTP协议进行请求和响应的功能。同时对服务器进行了一个简单的压力测试。所有程序代码均为Linux下的C语言编程。关键字: Linux、HTTP服务器、HTTP协议、EPOLL AbstractThe Linux operate system is a free operate system which opens a sour

6、ce codeNot only it has characteristics such as safe,stability,and the low cost,but also it seldom disseminates the VirusHTTP server is one of the Web servers and it bases on HTTP protocolAs the Linux operating system has the function of stable,reliable,safe and powerful network, it mainly used in se

7、rvers.To realize a HTTP server in the Linux environment is the best choiceThis paper introduces design and implement of HTTP server in Linux operating systemIn the Linux system and browser used HTTP protocol for data transmission. This paper expounds the method of Linux socket programming and EPOLL

8、I/O multiplexing programming model.Detailed analysis the communication process between client and server and HTTP protocol.This paper realizes the function that the client browser requests and the server responds by HTTP agreement.Make a simple pressure test on the server.All program code use the C

9、language programming in Linux operating system.Keyword: Linux, HTTP Server, HTTP protocol, EPOLL前言随着Internet的迅速发展与普及,网络已经延伸到世界的各个角落。在该技术基础上发展起来的www,通过超文本向用户提供全方位的多媒体、超媒体信息,从而为全世界的Internet用户提供了一种获取信息、共享资源的途径。由于用户在通过 Web 浏览器访问信息资源的过程中,无需再关心一些技术性的细节,而且界面非常友好,因而 Web 在Internet 上一推出就受到了热烈的欢迎,走红全球,并迅速得到了爆炸

10、性的发展。 所以Web服务器在网络中的地位日益重要。当今社会中已有了许多知名的商用服务器,如Microsoft IIS、IBMWebSphere、BEA WebLogic、Apache、Tomcat等。但往往这些功能强大的服务器其结构也相当复杂,规模较大,在一些特定应用情景下(如嵌入式设备)就不太适合了。同时一个简单小巧的服务器也有利于我们学习网络编程的相关知识,对服务器原理也能有进一步的了解。本文设计实现了一个功能简单、结构小巧的HTTP服务器,采用EPOLL多路I/O复用机制来实现并发服务。网络编程采用socket,服务器端创建套接字、绑定套接口、设置套接口为监听模式,将该监听套接字加入E

11、POLL事件列表,然后无限循环等待EPOLL返回,对返回事件的套接字进行读或写的处理。若为新连接,则将其加入到EPOLL事件列表;若为已有连接则读取其请求或向其发送响应;若客户端已断开或已发送完响应,服务器端就断开该连接,并将该套接字从EPOLL事件列表中移除。主要提供对静态请求的处理,解析客户端请求报文,回送请求的文件和响应报文的功能。 第 vi 页 第一章 绪 论1.1课题背景随着Internet的迅速发展与普及,网络已经延伸到世界的各个角落。在该技术基础上发展起来的www,通过超文本向用户提供全方位的多媒体、超媒体信息,从而为全世界的Internet用户提供了一种获取信息、共享资源的途径

12、。随着计算机网络技术的发展,客户/服务器(Client/Server)结构逐渐向浏览器/服务器(Browser/Server)结构迁移,B/S方式已成为一种时尚,大部分网络应用系统都是以这种B/S方式与网络用户交换信息。B/S的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的Web服务器。所以,Web服务器在B/S方式下起着决定性的作用,且其应用地位日益重要。Linux系统凭借其开源、稳定、高效的特点,在服务器市场拥有较大的市场份额。Linux作为网络服务器市场的佼佼者,网络服务应用是其精华与核心。当前商用的服务器大都规模比较大,功能强大的同时结构也比较复杂。自己实现一个简单小巧的H

13、TTP服务器,对于理解服务器工作原理知识,或针对一些特定情景下的HTTP服务器应用来说,不失为一种比较好的方式。1.2 课题研究的目的和意义随着Internet的普及,网络已经深入到了我们的生活,跟我们息息相关。Linux系统作为网络应用的重要平台,如何更好的去学习和使用Linux系统便是我们要面对的问题。同时,作为当今互联网最主要的应用www服务,其为全世界的Internet用户提供了一种获取信息、共享资源的途径。www服务主要的提供者就是其后端的HTTP服务器,所以如何更为高效的研究和学习Web服务器的相关知识,也是我们必须要关注的。本文在Linux环境下设计和实现了一个简单的HTTP服务

14、器。使用socket库完成网络底层的通信,使用HTTP协议来和客户端进行数据传输,使用EPOLL多路I/O复用机制来完成并发服务,最后还进行了一个简单的并发性能测试。通过对此课题的研究学习,我们能更好的掌握Linux系统的使用,加深对HTTP协议的理解。同时能对服务器设计的相关理论和实践有一定了解。第二章HTTP服务器的相关理论基础本章主要介绍设计HTTP服务器的相关理论知识。包括Linux系统简介、TCP/IP协议分析、Linux下网络编程介绍、HTTP协议分析。2.1 Linux系统简介简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机

15、上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux以它的高效性和灵活性著称。Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU(GNUs Not Unix)公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的XWindows图形用户界面,如同我们使用WindowsNT一样,允许我们使用窗口、图标和菜单对系统进行操作。Linux具有Unix

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号