实验二简单的 Web 服务器
一.实验目的
Web 服务器是Internet 网络中主要提供信息的服务器之一,通过WinSock 编程接口编写简单的Web 服务器程序。
1.理解HTTP 协议的工作原理
2.掌握 Web 服务器的处理流程
3.掌握 HTTP 请求和响应包的处理方法
二.实验内容
利用 WinSock 编程接口编写简单的Web 服务器程序,可以接收IE 等Web浏览器的请求,对HTTP 请求进行处理,向浏览器客户发送HTTP 响应,由浏览器显示请求的页面。
三.实验环境
程序运行环境为以太网,采用 TCP/IP 协议栈,网络操作系统为Windows。
程序开发环境为VS2012 版本。
四.实验步骤
1.Web服务器功能
(1) Web 服务器可以接受任何Web 客户的连接
(2) Web 服务器在同一时刻只能处理一个客户的请求,该客户请求处理完成才可以接收下一个客户的请求
(3) Web 浏览器客户通过地址栏指定服务器地址和请求的页面
(4) Web 服务器对请求进行处理,发送HTTP 响应
(5) Web 浏览器客户收到HTTP 响应后显示页面,关闭连接
2.Web服务器程序开发
以Visual C++ Console控制台程序的形式编写服务器程序,利用WinSock编程接口实现HTTP通信。Web服务器程序采用循环服务器的模式,不支持多线程操作。服务器侦听TCP 80号端口,建立TCP连接后接收HTTP 请求,分析请求包得到访问资源的路径名,从主目录下找到指定的资源,以HTTP响应的形式发送给Web客户。
3.编译和执行程序
将Web 服务器程序编译、连接成执行程序,运行Web 服务器程序,在系统设定的主目录下存放一些Web 页面。启动IE 浏览器,在地址栏指定
Web 服务器的地址和页面,可以在浏览器中显示响应的页面。
五.实验结果
1.提前在webserver.exe所在文件夹建立www文件夹,存放若干页面;点击
webserver.exe启动程序,如下: