摘要:本文介绍了HTTP服务器的一般工作流程,使用Java语言对HTTP服务器进行建模,并分别基于NIO技术与多线程技术实现了简单HTTP服务器。
1 HTTP服务器简介
一般的HTTP服务器主要提供以下功能:
- 管理相关的TCP连接,接受TCP请求、发送TCP响应
- 实现HTTP协议
- 管理存储于服务器硬件上的、用于向客户端提供服务的Web资源
- 向Web Server的管理人员提供实时服务器状态、日志等相关的管理功能。
2 HTTP服务器工作流程
图1 HTTP服务器工作流程
2.1 等待客户端的连接
HTTP服务器的一般工作流程如图1所示。在Step1中,HTTP服务器启动后,会一直等待客户端(Client)的连接。当客户端的TCP连接请求到达后,HTTP服务器获取请求连接的客户端的信息,并根据管理员制定的规则,选择接受或者拒绝客户端的连接。HTTP服务器验证是否接受客户端连接的方法 [1