HTTP handlers in ASP.NET allow processing of HTTP requests. There are synchronous and asynchronous handlers. Synchronous handlers return only after completing request processing, while asynchronous handlers release the thread to the thread pool during I/O processing, improving resource usage. Asynchronous handlers use IAsyncResult to notify when the operation completes, allowing the request to continue processing.