zaver

Yet another fast and efficient HTTP server

Github星跟踪图

Zaver

Yet another fast and efficient HTTP server.

purpose

The purpose of Zaver is to help developers understand how to write a high performance server based on epoll. Although Nginx is a good learning example, its complexity and huge code base make people discouraged. Zaver uses as few codes as possible to demonstrate the core structure of high performance server like Nginx. Developers can lay a solid foundation by learning Zaver for further study in network programming.

programming model

  • epoll
  • non-blocking I/O
  • thread-pool

compile and run (for now only support Linux2.6+)

please make sure you have cmake installed.

mkdir build && cd build
cmake .. && make
cd .. && ./build/zaver -c zaver.conf

support

  • HTTP persistent connection
  • browser cache
  • timer(use binary heap instead of rbtree used in Nginx)

todo

  • sendfile
  • proxy
  • FastCGI
  • other HTTP/1.1 features
  • memory pool
  • WebDAV?

more details

https://zyearn.github.io/blog/2015/05/16/how-to-write-a-server/

主要指标

概览
名称与所有者zyearn/zaver
主编程语言C
编程语言C (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2014-10-25 02:56:20
推送于2022-09-02 14:07:42
最后一次提交2020-12-15 15:56:32
发布数0
用户参与
星数852
关注者数50
派生数242
提交数65
已启用问题?
问题数20
打开的问题数6
拉请求数2
打开的拉请求数0
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?