As I explained in Chapter 1, the web application pulls data from a web server. The client initiates the transfer by sending a request to the server. The response is then rendered in the browser. All web application design is based on this request-response paradigm. However, websocket technology opens up a whole new world, allowing server-initiated communication with client applications.