本项目是计算机网络课程设计大作业,主要设计并实现了一个基本满足HTTP协议的Web服务器。
本课程设计实现的HTTP Web服务器主要实现了以下几个功能:
- 使用多线程技术,支持多请求的同时访问。
- 对客户端发送的HTTP请求进行解析处理,并返回响应体。
- 支持服务器内部转发与请求重定向。
- 实现了Servlet容器,可以读取并解析Servlet配置,支持Servlet编程。
- 支持静态资源的传输。
- 实现Session机制。
对本项目的主要介绍放在了计算机网络课程设计里面,这里就不再赘述了。
PS:由于本人水平与时间有限,目前实现的服务器支持的功能并不多,而且也不支持模板语法(但应该可以用于前后端分离的项目,没测试过,理论上可行), 所以本项目仅供学习使用,请勿用于任何实际项目的开发中。
PS2:由于Chrome浏览器有时会在一个正常请求后面自动加一个空请求,导致服务器在解析的时候出错,暂时不清楚这个空请求如何处理, 所以使用Chrome测试样例的时候,会导致样例中的页面经常加载失败,或者只能加载一部分,建议使用windows自带的Edge进行测试,经过本人测试,Edge没有这个问题 ,可以正常加载页面信息。