HTTP Server开发相关学习资料整理推介
本文整理了我在学习过程中接触到的一些与HTTP Server有关的资料、文章及书籍,在这里分享给大家,希望对大家有所帮助。
RFC及标准性文档
RFC2616 - Hypertext Transfer Protocol — HTTP/1.1
HTTP协议标准文档,所有从事HTTP相关开发的人员必备参考资料,建议仔细研读。
RFC793 - TRANSMISSION CONTROL PROTOCOL
TCP协议标准文档。
The WWW Common Gateway Interface Version 1.1
CGI1.1协议标准文档,描述了Web Server与CGI Application通过CGI协议进行交互的所有细节。
FastCGI协议相关标准文档,描述了FastCGI协议及Web Server及FastCGI Application如何进行交互。
基础理论资料
一篇非常著名的讨论高性能HTTP Server的文章,文章作者结合I/O策略详细讨论了高性能HTTP Server的话题。
How to use epoll? A complete example in C
一篇不错的文章,给出了epoll编程的一个实例,有助于理解如何使用epoll。
一篇简洁精炼的文章,探讨了edge trigger、level trigger、select、poll及epoll相关的话题。
之前在博客园看到的一篇有点标题党的文章 : ),不过内容很不错。作者在文中讲解了如何一步步实现一个基于事件驱动、I/O多路复用的非阻塞HTTP Server,前半部分的理论也讲得很好。
开发技术文档
Emiller’s Guide To Nginx Module Development
非常经典的关于Nginx扩展模块开发的文章。因为Nginx官方并没有提供开发扩展模块相关的文档,因此这篇文章几乎是Nginx模块开发入门的唯一资料。
Emiller’s Advanced Topics In Nginx Module Development
上一篇文章的后续版本,探讨了如subrequest相关的一些高级话题。本文的最后作者给出了ToDo,表明作者当时打算继续写第三篇,并会探讨并行subrequest、Nginx内置数据结构等内容,但不知什么原因,作者后来没有继续写下去,真是非常遗憾。但这两篇文章仍然是每个打算入门Nginx模块开发的必读圣经。
我之前写的一篇文章,通过一个Nginx模块的实际开发过程示例详细介绍了Nginx模块开发的基本知识点。
FastCGI官方关于开发FastCGI的文档,每个开发与FastCGI相关程序人员必读。
Libevent的参考文档
程序参考
一个短小精悍的Http Server实现,全部只有503行代码,但是麻雀虽小五脏俱全。这个程序的目的不是用于生产环境,而是展示一些Http Server最本源的东西。可以通过阅读这段代码理解一个Http Server的本质。其中包含一个简易的Server和一个Client。
这里有大量Nginx第三方模块的源码,是学习Nginx模块开发很好的参考。
FastCGI的一个实现,以库的模式提供给第三方使用。
电子书籍
UNIX Network Programming vol1 - The Sockets Networking API
Unix网络编程的超经典著作,详细讲解了Socket 编程、Network I/O等内容,涉及Unix网络编程的方方面面,如果想从事与HTTP Server有关的开发,这本书是夯实基础的必读经典。
第一本关于Nginx的书,不过比较偏重于应用,对开发几乎没有太多帮助,不过仍不失为一本理解Nginx应用层面的绝佳参考书。
OReilly - Writing Apache Modules with Perl and C
一本介绍Apache模块开发的书。
如果各位有相关资料推介,欢迎联系我补充。
Change log:
[version 0.1] - 张洋 - 20111020 - 创建文章
[version 0.2] - 张洋 - 20111026 - 增加“libevent book”
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:ericzhang 来源: CodingLabs
- 标签: HTTPServer
- 发布时间:2012-06-17 17:58:24
- [67] 如何拿下简短的域名
- [65] Go Reflect 性能
- [62] Oracle MTS模式下 进程地址与会话信
- [60] IOS安全–浅谈关于IOS加固的几种方法
- [58] 图书馆的世界纪录
- [57] android 开发入门
- [56] 【社会化设计】自我(self)部分――欢迎区
- [50] 视觉调整-设计师 vs. 逻辑
- [50] 界面设计速成
- [46] 读书笔记-壹百度:百度十年千倍的29条法则