I am writing a simple app that's very similar to a chat application in terms of its use. A host starts a "room", participants can join and send messages into said room.

I am trying to make this as simple as possible to code. PHP on the backend without anything fancy.

My first thought was to just do polled ajax from the clients to see if a new message is posted in the room. Then I thought this causes a crazy amount of requests to the server (granted they're tiny, but still).

Then I looked into more HTML5 ways of doing it and found EventSource - this seems right in theory but I wonder it under the covers it's just polled ajax anyway.

Then there's comet but it also requires a server side component that I'm not too eager to set up.

I guess I can use long polling - is that the best approach? 

Also, how do you minimize db requests from all the clients asking for new data?