Comet is a software concept that enables web servers to send data to the client program (usually a browser) without having any need for the client to request it. It allows creation of event-driven web apps which are hosted in the browser.
Normally, a client has to request some data before it will be sent by the server. This becomes a big problem when designing apps which have to wait for some event to occur on the server side before it can proceed (such as another user sending some data to the server), but has no idea when the event will occur.
One solution is to design applications so they intermittently poll the server to find out if the specific event has occurred, but this is not an elegant solution either since the app will waste a lot of time and bandwidth querying for the event completion - which in turn impacts an application's responsiveness.
A better solution is for the server to send a message to the client when the event occurs, without the client having to ask for it. This way, clients will not have to keep checking with the server; rather, they can work on other tasks, including data generated by events when it has been pushed down from the server to the client. This is exactly what Comet sets out to achieve. [more]