alviroiskandar/aishttpd
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
aishttpd
--------
Date: Tue, 30 Dec 2025 17:35:51 +0700
From: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Subject: Update on the aishttpd Project
Hello,
This is the aishttpd project. The naming "AIS" comes from my initials,
Alviro Iskandar Setiawan. aishttpd is a simple HTTP server written in C.
I started this project on Sunday, December 21, 2025. The main goal of
this project is to warm up my socket programming skills.
Check README_2025_12_22 file for the previous introduction email. Since
then, this project has made some significant progress. Now we have:
- Basic HTTP request parsing using gwnet_http1 parser from Ammar Faizi.
Link: #1
- File serving support for static files (from me).
- C++ framework support (from me).
I'll host my website using aishttpd soon. The plan is to use aishttpd
to serve static files for my personal website. This will be a good test
case for aishttpd in a real-world scenario.
BTW, I have tested aishttpd with various stress tests. Last time,
aishttpd can handle 40K concurrent connections using ab (ApacheBench)
tool. Note that I ran two instances of 'ab' as each 'ab' instance can
only open up to 20K connections.
Currently, this project has almost no dependencies. It only depends on
the standard C library and Linux syscalls. If you want to try it out,
you can do the following:
git clone https://gitlab.com/alviroiskandar/aishttpd;
cd aishttpd;
make -j$(nproc);
ulimit -n 100000; # Optional: Increase RLIMIT_NOFILE for more concurrent connections.
./aishttpd;
Then you can open your web browser and navigate to:
http://localhost:9980
Or just use curl. If you want to stress test aishttpd, you can use the
'ab' tool as follows:
ulimit -n 100000; # Increase RLIMIT_NOFILE for more concurrent connections.
ab -n 100000 -c 20000 http://127.0.0.1:9980/
I am looking forward to feedback, suggestions, and contributions.
Thank you!
Best regards,
--
Software Engineer & ITPM Officer
Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
+1 908 777 0074