Java software developers must known that a modern web browser supports a surprising number of protocols designed for fast, efficient, and secure communication. Even though some goals of these protocols might overlap, their features are different enough to make them all worth our attention. This session focuses on HTTP/2, SSE, and WebSocket. It is based on experience gained during development of popular Jersey and Tyrus libraries. It explains all mentioned protocols and compares them, in both theory and practice, using Java-based examples.