• Stars
    star
    375
  • Rank 114,096 (Top 3 %)
  • Language
    C
  • Created almost 13 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a tiny web server in C, for daily use.

A tiny web server in C

I am reading Computer Systems: A Programmer's Perspective. It teachers me how to write a tiny web server in C.

I have written another tiny web server in JAVA.

And another one http-kit, http-kit is full featured, with websocket and async support

And few others on my github page.

Features

  1. Basic MIME mapping
  2. Very basic directory listing
  3. Low resource usage
  4. sendfile(2)
  5. Support Accept-Ranges: bytes (for in browser MP4 playing)
  6. Concurrency by pre-fork

Non-features

  1. No security check

Usage

tiny <port>, opens a server in the current directory, port default to 9999, just like python -m SimpleHTTPServer

I use it as a lightweight File Browser.

TODO

  1. Write a epoll version

License

The code is free to use under the terms of the MIT license.

More Repositories

1

http-watcher

A Web Server for Web developers: automatically reload browsers when file changed, help developer focus on coding.
Go
186
star
2

rssminer

An online rss reader written in clojure & javascript & java.
JavaScript
147
star
3

dictionary

Pure c with epoll: A English-English dictionary to assist reading
JavaScript
117
star
4

mustache.clj

High performance mustache template library for Clojure
Java
45
star
5

async-http-client

A fast async http client based on netty
Java
42
star
6

pedis

A fast and lightweight key/list database server.
C
18
star
7

rockredis

A server using redis protocol, backend by rocksdb. In golang
Go
13
star
8

ftpd.go

a ftp server written in go in order to learn the language
Go
11
star
9

java-jdbc

Generate JAVA JDBC Database Access using SQL statement. No dependency, No reflection
Python
10
star
10

dotfiles

Linux & OS X config files
C
9
star
11

feedb

A special key-value storage server written in go and mmap.
Go
8
star
12

build-web-application-with-clojure

JavaScript
7
star
13

http-kit

move to https://github.com/http-kit/http-kit
7
star
14

mmseg

A java implementation of MMSEG. http://technology.chtsai.org/mmseg/
Java
6
star
15

proxy

HTTP proxy, backend by few socks proxy. Route traffic based on rule
Go
6
star
16

redis.go

High performance golang redis client
Go
5
star
17

fibonacci-game

A language benchmark game, just for fun.
Python
3
star
18

shenfeng.github.com

my personal blog
CSS
3
star
19

lunch-lottery.go

Lunch Lottery of AVOS china team in golang
Go
2
star
20

ac

Auto complete
C++
1
star
21

rope-emacs

a patched ropemode to support goto-definistion-other-window and pop-goto-definition-stack. for emacs python editing.
Python
1
star
22

thrift-router

Go
1
star
23

livereload

Clojure
1
star
24

readability

JavaScript
1
star