linux下http服務器設計.doc
linux下http服務器設計,linux下http服務器設計目錄摘要vabstractvi前言vii第一章 緒 論11.1課題背景11.2 課題研究的目的和意義1第二章http服務器的相關理論基礎32.1 linux系統(tǒng)簡介32.2 tcp/ip協(xié)議分析42.2.1 tcp/ip協(xié)議概述42.2.2 網絡層協(xié)議(ip協(xié)議)52.2.3 傳輸層協(xié)議(...
內容介紹
此文檔由會員 一任相思 發(fā)布Linux下HTTP服務器設計
目錄
摘要 v
Abstract vi
前言 vii
第一章 緒 論 1
1.1課題背景 1
1.2 課題研究的目的和意義 1
第二章HTTP服務器的相關理論基礎 3
2.1 Linux系統(tǒng)簡介 3
2.2 TCP/IP協(xié)議分析 4
2.2.1 TCP/IP協(xié)議概述 4
2.2.2 網絡層協(xié)議(IP協(xié)議) 5
2.2.3 傳輸層協(xié)議(TCP和UDP) 7
2.3 Linux下網絡編程介紹 9
2.3.1 Socket簡介 10
2.3.2 Socket創(chuàng)建 10
2.3.3 Socket配置 11
2.3.4 建立連接 13
2.3.5 數據傳輸 14
2.3.6 結束傳輸 15
2.3.7 Socket編程的基本步驟 16
2.3.8 I/O復用介紹 16
2.3.9 Linux下的I/O復用支持 17
2.3.10 Linux下EPOLL的使用 19
2.4 HTTP協(xié)議分析 22
2.4.1 HTTP協(xié)議概述 22
2.4.2 HTTP工作原理 23
2.4.3 HTTP請求報文分析 25
2.4.3 HTTP響應報文分析 26
2.4.4 HTTP/1.0主要特征 27
2.4.5 HTTP/1.1簡介 28
2.5 本章小結 29
第三章 HTTP服務器設計 30
3.1需求分析 30
3.2 HTTP服務器模型 30
3.3 HTTP服務器實現目標 31
3.4 HTTP服務器設計思路 31
3.5 HTTP服務器功能模塊圖 32
3.6 HTTP服務器工作流程 32
3.7 HTTP服務器核心設計思想 35
3.8 本章小結 35
第四章 HTTP服務器實現 36
4.1 網絡連接模塊 36
4.1.1 數據結構與接口設計 36
4.1.2 epoll接口實現 37
4.2 HTTP協(xié)議處理模塊 39
4.2.1 數據結構與接口設計 39
4.3 HTTP服務提供模塊 42
4.3.1 數據結構與接口設計 42
4.4 HTTP服務主程序 44
4.5 HTTP服務器運行與測試 45
4.5.1 HTTP服務器運行 45
4.5.2 HTTP服務器測試 46
4.6 本章小結 49
第五章 結論 50
第六章 總結與體會 51
謝辭 52
參考文獻 53
附錄 55
附錄1 軟件使用說明 55
附錄2 英文原文 57
附錄3 英文翻譯 58
摘要
Linux操作系統(tǒng)是一個開放源代碼的免費操作系統(tǒng)。它不僅有安全、穩(wěn)定、成本低的特點,而且很少發(fā)現有病毒傳播。HTTP服務器是web服務器的一種,它是基于超文本傳輸協(xié)議HTTP的服務器?;贚inux具有穩(wěn)定、可靠、安全和強大的網絡功能這些優(yōu)點,使得其主要應用于服務器領域。所以本文選擇在Linux環(huán)境下實現一個HTTP服務器。
本文研究了Linux下HTTP服務器的設計與實現。在Linux系統(tǒng)中采用HTTP協(xié)議和瀏覽器完成數據的傳輸。闡述了Linux套接字編程的方法、EPOLL等I/O復用編程模型。詳細分析了HTTP協(xié)議內容以及客戶端與服務器之間的通信過程。本文實現了客戶端瀏覽器和服務器端以HTTP協(xié)議進行請求和響應的功能。同時對服務器進行了一個簡單的壓力測試。所有程序代碼均為Linux下的C語言編程。
關鍵字: Linux、HTTP服務器、HTTP協(xié)議、EPOLL
Abstract
The Linux operate system is a free operate system which opens a source code.Not only it has characteristics such as safe,stability,and the low cost,but also it seldom disseminates the Virus.HTTP server is one of the Web servers and it bases on HTTP protocol.As the Linux operating system has the function of stable,reliable,safe and powerful network, it mainly used in servers.To realize a HTTP server in the Linux environment is the best choice.
This paper introduces design and implement of HTTP server in Linux operating system.In the Linux system and browser used HTTP protocol for data transmission. This paper expounds the method of Linux socket programming and EPOLL 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 language programming in Linux operating system.
Keyword: Linux, HTTP Server, HTTP protocol, EPOLL