Сервер на Си, как и зачем?
libuvlibevent
Самые шустрые и распространённые библиотеки.
Первая используется в ядре Node.js.
Вторая — в куче проектов типа хрома, тора, файрфокса, мускуля. Умеет http-роутер из коробки.
На Си дурной тон писать сервер, когда не знаешь Си. Бред наркомана. 
90% всех существующих серверов написано на Си. Другое дело, что надо знать одновременно и язык, и тонкости ОС, и тонкости сетей, уметь пользоваться профилировщиками памяти. Ну, и времени нужно очень приличное количество.
На Си легко "выстрелить себе в ногу" и упустить утечки памяти, переполнение буфера, гонки данных в параллельных потоках. Убедился в этом при создании похожего проекта.
Почитать - если стремитесь к максимальному быстродействию, разберитесь как работать с epoll и неблокирующими сокетами. Для работы по HTTP почитайте спецификацию и какие поля могут быть, как их парсить и обрабатывать, и т.д. Для парсинга пригодятся state-машины (это уже "основы конструирования компиляторов", по теме есть много вузовских учебников). Работа с сокетами напрямую подразумевает некий кастомный протокол - нужно придумать соглашения по формату передаваемых данных (заголовок, пакеты, и т.д.)