> In fact this is a nice place to ask: how would you build a "something" that monitors the network for packets sent to powered-off machines, then somehow caches the request, powers the destination machine On, and finally lets the request continue to its target? Has this been tackled anywhere? There must be tons of people wanting a homeserver but living in places where electricity has a considerable cost...
IP protocol does not guarantee delivery. So you don't have to cache request. Just power on the machine, client will retry sending the packets until the machine is powered on and can respond. Just make sure that there's no gap between networking available and http server is still starting on.