Publication Date
Fall 2024
Degree Type
Master's Project
Degree Name
Master of Science in Computer Science (MSCS)
Department
Computer Science
First Advisor
Chris Pollett
Second Advisor
Navrati Saxena
Third Advisor
Genya Ishigaki
Keywords
Single file PHP servers, Routing engines, HTTP/2, Header compression
Abstract
As a result of advancement in technology the web and email servers have greatly expanded in size.
This has created a need for miniaturization, and people are trying to minimize technology whilst
making it fast and efficient. This report discusses the development of a set of servers aligned with
the miniaturization trend: Atto servers. These are simple to use single file PHP servers created for
moderate usages including web traffic and email tasks. The purpose of this project is to develop
small server solutions which could act as working counterparts of products like Apache or Nginx.
It makes the server appropriate for use in educational contexts and readily insertable into other use
cases. The project entails the improvements added to the existing Atto server framework. It builds
on top of this server model which is proficient of managing HTTP requests most effectively. The
implementations consist of enabling security mechanisms for handing TLS, enabling HTTP/2
support, HPack and Huffman encoding for header compression, as well as the implementation of
SMTP and IMAP commands for the email server. This report provides a comprehensive overview
of the existing Atto server framework, and the larger-scale improvements added to it. It also
discusses the background, preliminary work done in the first semester, and the experiments
performed on the final project, demonstrating its overall functional improvements and other
metrics.
Recommended Citation
Shrivastava, Ajita, "Building Lean Standalone Web Servers, and Routing Engine" (2024). Master's Projects. 1460.
https://scholarworks.sjsu.edu/etd_projects/1460