Server A has events Server B wants to know about. With REST Hooks, Server A provides an API that Server B use to tell Server A "Please POST notifications about those events to this URL". Then Server B keeps a web server listening for requests to that url. There is no persistent connection.
As for timeouts, check out http://resthooks.org/docs/retries/ for ideas on how those problems can be solved.