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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?