Article Preview
TopIntroduction
One of the early purposes of the Web was to link documents using hyperlinks and facilitate document transfer (Park, Hwang, Yun & Moon, 2014). This purpose was handled by HyperText Transfer Protocol (HTTP). However, with the other developments in the technology, the web has evolved towards a more real time environment.
With the advent of HyperText Markup Language 5 (HTML5), the Server Sent Events (SSE) emerged along with improvement in performance. Due to this reason, HTML5 gained a lot of momentum and is considered as the next-generation standard (Park et al., 2014). To suffice the need of high level interaction in modern web applications, various technologies have emerged. Some of the most popular technologies are WebSocket, and Asynchronous JavaScript and XML (AJAX). These technologies emerged with an intent to impart responsiveness to the web pages by exchanging necessary amount of relevant data in a user transparent manner and then making appropriate changes to the components of user interface without reloading the page. In this way, the need of reloading the entire web page per user-action was eliminated. This facilitates the improved quality of communication.
Particularly, the real-time web applications add immense improvement in the overall performance and also strengthen user experience. This is because the HTML5 WebSocket technology enables applications to receive information in a time efficient manner via the push (server or client initiated) in real time. Thus, it leads to a possibility of reducing the waiting time for the superfluous network traffic. Similarly, while AJAX adheres to the standard request-response model, it facilitates the client to pull data from the server using HTTP requests without reloading the page. Each of these mechanisms has its own benefits and pitfalls while simulating in a real time environment and thus are relevant for different use-cases. In spite of the vast difference in architecture and models, both technologies have emerged quite rapidly. Furthermore, AJAX does not support bidirectional communication natively, as in case of WebSocket; it simulates the behavior using the concept of long polling.