8000 GitHub - ccc-c/sehttpd: A small and efficient web server with 1K lines of C code · GitHub
[go: up one dir, main page]

Skip to content

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ccc-c/sehttpd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seHTTPd

seHTTPd implements a small and efficient web server with 1K lines of C code. I/O multiplexing is achieved using epoll.

Features

  • Single-threaded, non-blocking I/O based on event-driven model
  • HTTP persistent connection (HTTP Keep-Alive)
  • A timer for executing the handler after having waited the specified time

High-level Design

+----------------------------------------------+
|                                              |
|  +-----------+   wait   +-----------------+  |  copy   +---------+
|  |           +---------->                 +------------>         |
|  | IO Device |    1     | Kernel's buffer |  |   2     | Process |
|  |           <----------+                 <------------+         |
|  +-----------+          +-----------------+  |         +---------+
|                                              |
+----------------------------------------------+

Build from Source

At the moment, seHTTPd supports Linux based systems with epoll system call. Building seHTTPd is straightforward.

$ make

By default the server accepts connections on port 8081, if you want to assign other port for the server, modify file src/mainloop.c and build again.

License

seHTTPd is released under the MIT License. Use of this source code is governed by a MIT License that can be found in the LICENSE file.

About

A small and efficient web server with 1K lines of C code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 65.1%
  • Shell 23.1%
  • Python 9.7%
  • Makefile 1.7%
  • HTML 0.4%
0