If we put a httpd on the player, it would take disk space and memory. The player is designed to work with the HDD spun down (ie, no disk access at all except under its own control) - no httpd is designed this way. All spare memory in the empeg is used to cache tracks to give the shock protection - running other apps will make this buffer smaller.
Also, many unix programs simply can't deal with running on a small-memory system without swap - they fall over horribly if (eg) a malloc fails. Expecting us to put httpd on the system when it would adversely affect the main purpose of the box (play music) is unreasonable - it can be done, but you loose other things.
As has been noted, you can replace the init script if you want. The reason we have a small binary init is to give the fastest boot time and lowest memory footprint (ie, no bash being loaded, etc). It also deals with remounting disks read only & restoring safe-states.
The wishlist includes allowing other apps to link into the player, to give seamless integration of 3rd party stuff (whilst not interrupting the player or causing disk/memory problems) - but this is still wishlist and not scheduled for any particular player version yet. It will happen in some form, though.
Hugo