SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files
Installation

Edit config.h

Type make

Find out what you want to do with it from there.

If you have problems compiling, write us (contact information below).

IM-HTTPD:

im-httpd fills our need for a small and lightning fast http server. It is effectively feature free. Luxuries like directory indexing or transfer logging do not exist.

The server remains a single process throughout it's life. It has no config file parsing. It has no command line options. It does not thread. It goes to great lengths to simply read the HTTP request and send back the file, with minimal fuss/logic in between.

Situations where im-httpd is ideal:

        + Fast low-resource low-overhead small-file serving. For requests
        like this, something like Apache has far too much overhead.
        
        + You need a barebones http server that is relatively easy to
        understand that you can modify for your needs with minimal
        effort.

        + You're using an embedded system and can't afford to
        spare more than 7k of memory for an http server.

Situations where im-httpd might be bad:

        + Large-fast-file serving. There are far too many interrupts involved
        to make large-fast-file serving efficient. If you anticipate
        serving lots of huge files (like mp3s), you'd probably do good
        to increase the buffer size in config.h  -- on the other hand,
        large-slow-file serving, for serving to modem users, for example
        would be ideal because the client would be the bottleneck.

        + Environments which require auditing. You can easily add
        transfer logging, but it does not come out of the box.

Q. Uh, why not just use thttpd?
A. I tried deploying thttpd once, and it had far too many

        "for-your-own-good" security features that I was
        not able to appreciate. I assumed I wasn't the
        only one so I decided to write im-httpd. It's also
        been a fun experiment.

Q. What about khttpd?
A. If you feel comfortable with khttpd, then by all means!

        I'm not comfortable with khttpd and we also aren't a 100% Linux shop.
        Also, khttpd is implemented in quite a sizable chunk of code.

Q. Uhm, are you insane? Couldn't you at least put in feature Z? A. Do it yourself or find another http server! I will of course

        listen to suggestions, but unless they make absolute perfect
        sense and impose almost zero overhead and minor memory
        footprint, don't expect me to put it in!

Q. Not even directory indexing?
A. No.

Q. Why not?!?
A. Ok, we clearly don't agree here. This is not the http server you

want. Try thttpd. It's pretty cool.

Q. I can't seem to download certain files A. Make sure the file has a recognized file extension, check content_type.h

Q. The server isn't working for some reason and I can't figure out why.. A. Try tracing the running process: man ktrace|truss|strace

See config.h for extensive configuration options including the Document Root, Port, and other goodies..

Questions? Comments?

Michael Bacarella
mike@bacarella.com
http://m.bacarella.com/


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.