httphost怎么代码实现?
只谈 Linux 下。直接用现成的,Apache / Nginx,python -m SimpleHTTPServer用库写基本的,Python 的 HTTPServer / CGIHTTPServer 等用 C 从底层手写:POSIX API, Sockets,RFC 2616 。基本的单线程迭代阻塞处理;然后是高级点的优化I/O multiplexing (select / poll, epoll)进程、线程分派模型:one-request-per-child / one-request-per-thread非阻塞 I/O,edge trigger高级功能性能优化:Memory cachingI/O 优化 如 文件系统选择、Linux AIO 等。
单这块往下看文件系统、I/O 调度和其它 OS 内核细节,就可以挖非常深TCP/IP 优化CGI / FastCGI / WSGI / AJK 等后端协议支持HTTPS 协议支持模块化,扩展模块支持,这块更偏向于架构设计。
Apache 就有非常出名的动态模块设计集群支持3 只要看看 APUE / UNP 即可,4 需要广泛研究不同的代码和各种技术的文档。
RFC 2616: Hyper Text Transfer Protocol HTTP/1.
1 http://www.w3.org/Protocols/rfc2616/rfc2616.htmlUNP: Unix Network Programming, vol.
1 http://book.douban.com/subject/1756533/APUE: Advanced Programming in the Unix Environment http://book.douban.com/subject/2284230/TCP/IP Illustrated http://book.douban.com/subject/1741925/相对更入门的:
Advanced Linux Programminghttp://www.advancedlinuxprogramming.com/zh-cn: http://sourceforge.net/apps/trac/elpi/wiki/ALP
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有