Not sure if this is a failure of documentation or a bug, but it is worth noting that this function seems to return the timestamp of the script execution by default, not the current time. So e.g. this:
<?php
echo http_date();
sleep(60);
echo http_date();
?>
will output the exact same string twice.