Are there any HTTP protocol stacks implemented in C?
Thanks in advance.
Update: looking for client implementations.
Are there any HTTP protocol stacks implemented in C?
Thanks in advance.
Update: looking for client implementations.
You didn't say whether you're looking for client or server, but a quick google turned up libmicrohttp for embedding an HTTP server in your app, and of course libcurl for client-side stuff.
Edit In answer to your update, definitely libcurl is the answer. I've used it in the past and it's got about every feature you can imagine underneath a fairly easy-to-use interface.
Libcurl and libsoup are two client/server side open source http stacks.
Warning : libsoup doesnt have enough documentation. However theres always SO if you get stuck.
Apache, nginx, etc. etc. are all in C, but take a look at libevent
.
You might be interested in Serf - used by Subversion and built on top of the Apache Portable Runtime.
I recommend libcurl, it support a large number of protocols, including HTTP. Also, it's well documented, and is quite simple to use.
In the Windows world, there's also WinInet for client.