没有合适的资源?快使用搜索试试~ 我知道了~
首页基于C++的简易HTTP服务器程序源代码(Word报告版)
资源详情
资源评论
资源推荐

学院
课程设计
学 号:
专 业:
学生姓名:
任课教师:

年 月

HTTP 服务器的设计与实现
一、引言
随着的迅速发展与普及,网络已经延伸到世界的各个角落。在该
技术基础上发展起来的,通过超文本向用户提供全方位的多媒体、超媒体
信息,从而为全世界的用户提供了一种获取信息、共享资源的途径。
越来越多的企业和组织通过发布信息,可以说,服务器已成为公众了
解企业、企业宣传自己的一个窗口。在现实生活中,有许多商品化的服务器,
然而,我们时常需要按照实际环境编写自己的服务器软件,以完成特定任务或
与特定客户端软件实现交互。例如,许多企业的网站既需要接入提供
公共信息的访问,同时部分信息只能提供给内网用户访问,这就需要
实现内部信息和公共信息的访问控制。又如,一些网站只向特定的用户提供服
务,其他的用户无权访问该网站。实现这些功能需要对服务器编程,设置允许
访问网站或网站内部信息的地址范围,若客户端地址在该范围内,则可以
访问网站或网站内部信息,否则无权访问。本文介绍一种采用作为
开发工具而开发的具有上述功能的多线程
服务器。
二、简介
! 是超文本传输协议的简称"是
上用于发布信息的主要协议。 协议是基于 # 协议之上的应用层协议"
具有简单、无状态、灵活、元信息及无连接等特点。 定义了一个 浏
览器#服务器结构的简单事务处理"这个处理由以下四步组成$
客户与服务器建立连接%
客户向服务器递交请求。 请求一般是 &' 或 () 命令%
* 如果请求被接纳"那么服务器送回一个应答"应答中至少包括状态编码和
文件的内容%
客户或服务器断开连接。
由浏览器向 服务器发出请求时"它就向服务器传递一个数据报文"也就
是请求元信息。元信息包括$提出请求的浏览器名%浏览器能接受的数据类型等。
在每次建立连接时客户机方和服务器方必须对它们的数据表示达成协议。

三、 服务器应用技术要点
3.1 协议
服务器是服务器的一种,它是基于协议的服务器。通常读
者上网时浏览的网页,就是由服务器利用协议传输给浏览器的。协
议是一种面向事务的客户/服务器协议,它规定了发送和处理请求的标准模式,
从而允许不同种类的客户端相互通信而不存在兼容性问题。协议建立在传
输控制协议+,-,! 的有连接的、可靠的服
务之上,但是“无状态”的协议,独立地处理每个事务。因此,通常实现
协议时,要在客户端和服务器之间为每个事务创建一个新的连接,然
后在这个事务完成之后立刻结束连接。在/.(中,协议的次会
话由个请求过程和个应答过程组成,个连接只能包含次会话。换言之,
每个会话由个单独的连接完成,客户浏览器每发出个请求都
要建立个新的连接。为了获得个./的页面,通常需要向服务器
发送若干个请求,以便分别得到文档中的文字和文档中嵌入的声音和图片等等。
例如,个包含首背景音乐和*幅图象的页面就要求0个独立的服务器请
求来检索个对象首背景音乐和*幅图象 以及带有这些图象的页面。
3.2多线程服务器的总体设计
多线程服务器模型由个模块组成:
请求处理模块;
服务器应答模块。
请求处理模块负责接受客户连接,分析请求中的各个协议参数。服务器应
答模块负责向发送请求的客户端发送文件。其模型如图*1所示。

图*1
该服务器的基本功能:
对服务端口:2 进行侦听,能接受客户端浏览器 的连接
请求;
可对客户端的&'请求方式作出响应,将制定的网页发送到浏览器;
* 可更改当前的服务目录;
记录在服务器运行过程中的所有错误和时间,并将其显示出来;
0 记录客户端的请求的时间和客户的,并将其显示出来。
剩余32页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论0