In 21st Century, Internet has become supreme technology for its impact on lives by providing increasingly virtual connectivity for various possible kind of information & many more to come. Perhaps internet has increasingly misinterpreted as synonym for world wide web, thanks to strong emergence of eCommerce, & virtual collaborative public platforms. WWW has brought markets, hotels, theaters, acquaintances at your clicks.
Perhaps Http is one of the application protocols that drives the backstage for WWW. Hypertext Transfer protocol has always served the requested information. But requesting information not an only phenomenon that humans will love. We would want feeds, updates, notifications, messages; not on request but based on circumstances. Servers should send important feeds to clients.
This is where websocket comes into picture, to provide duplex communication between client & servers, unlike traditional http model based on request-response paradigm. websocket standardized by IEFT as RFC 6455 in 2011. It is added in 7th layer in OSI model & 4th layer in TCP/IP model, as another application layer protocol.
Most of web browsers started supporting websocket, including mozilla firefox, safari, chrome, IE.
Most of Application servers started supporting websocket.
Some of popular frameworks which I come across, offering websocket based APIs – J2EE, Spring, Atmosphere.