HTTP Server development resource summary
This article summarizes some materials, articles and books I used when learning HTTP Server development. Hope this will help you.
RFC and standard documents
HTTP protocol standard document, it's an essential reference document for all personnel engaged in the development of the HTTP-related projects, careful study is recommended.
TCP Protocol standard document
CGI1.1 protocol standard document describing all details about how the Web Server interact with CGI Application through CGI protocol.
The FastCGI protocol standard document, describes the FastCGI protocol, and how Web Server interacts with FastCGI Application.
Basic theory materials
A very famous article which discusses high-performance HTTP Server.
This article gives an example of epoll using C. Demonstrate how to use epoll.
Development technical document
Classic article about the the Nginx extension module development. Because the Nginx official doesn't provide extension module development related document, so the article is almost the only entry document for Nginx module development.
The follow-up version of the previous article, it explores some advanced topics such as subrequest. At the end of this article the author gives ToDo, indicating that the author intends to continue to write the third one, and will explore the parallel subrequest Nginx built-in data structures, etc., but I do not know why the author did not subsequently continue to write it. These two articles are still the Bible for people intendeing to do Nginx module development.
People who want to develop FastCGI related programs must read this.
Libevent reference document
A dapper Http Server implementation, all only 503 lines of code, but the small but perfectly formed. The purpose of this program is not used in a production environment, but to show the origin Http Server. Can read the code to understand the nature of a Http Server. Which contains a summary of the Server and a Client.
There are a large number of third-party Nginx module source code, they are good resource for learning the Nginx module development.
An implementation of FastCGI. It provides a library for developers to use.
Unix network programming super classics, explain in detail Socket Programming, Network I/O and other content, involved in all aspects of network programming in Unix,
The first book about Nginx, but more emphasis on applications. Have no much help for development, but nonetheless an excellent reference book of an understanding Nginx application level.
A book about Apache modules.
Author : ericzhang Source : http://www.codinglabs.org/html/http-server-docs.html#jtss-tsina