Giving this answer for the entertainment value mostly, but you could use any super-server (xinetd might do the job, too) and make it run a simple script for every request on port 80. The script would wait for a blank line on standard input and then print a prepared static response. Not sure how much more lightweight you can get.
For example, if using DJB's tcpserver (I find it easy to use for such trivial tasks) you can do:
$ tcpserver 127.0.0.1 1080 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
And in the answer file you can have:
HTTP/1.0 200
Date: Fri, 02 Nov 2012 16:05:54 GMT
Content-Length: 15
Content-Type: text/html; charset=utf-8
This is a test
You can get as creative as you want.
And here is how I test it:
$ wget -q -O - http://localhost:1080/
This is a test
UPDATE: For anyone seriously considering this, for a realistic use of tcpserver you are better off starting it like this:
tcpserver -H -R -l $HOSTNAME -u $(id -u nobody) -g $(id -g nobody) 0.0.0.0 80 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
By default tcpserver looks up information about the incoming connection and -H (do not look up the remote name in DNS) and -R (do not look up remote info with ident) will speed up responding to incoming connections. -u and -g will drop the privileges after receiving the connection on port 80, and you will have to start it as root to be able to listen on port 80.
And of course, make sure nothing else is listening on port 80.
ucspi-tcpand then it worked, thx – rubo77 Nov 02 '12 at 21:50tcpserver: fatal: unable to bind: address already used– rubo77 Nov 02 '12 at 22:110.0.0.0. – chutz Nov 03 '12 at 08:24apache2ctl stopbefore, but I didn't. But now I still have this problem: that minimalserver only works onlocalhostbut if i callwget -q -O - http://my-domain.de:1080/(or:80/): still no output – rubo77 Nov 04 '12 at 06:060.0.0.0instead of127.0.0.1and it will respond to all IPs. – chutz Nov 04 '12 at 14:32