HTML and CSS Reference
Figure 1.9. Gmail allows you to drag files into the browser window and drop them into a designated area to add
them as attachments to your messages.
You'll learn how to use drag and drop to import and export files from an application in
1.3.4. Cross-document messaging, server-sent events, and WebSockets
Web applications work on a request-response model, where the client issues a request to the
server, and the server in turn sends a response to the client. After this, if the client requires
further information from the server, the client needs to initiate another request. This makes
it difficult to send changes from the server to the client, without frequently sending requests
to check for these changes. In this section, you'll learn about some of the new messaging
features in HTML5 that allow the server to communicate with the client. Before that, let's
look at how to use messaging to send updates between documents.
Enabling communication between clients with cross-document and channel messaging
When working with web applications that use multiple browser windows, you'll often want
to pass messages between the documents in each window. Traditionally, this was accom-
plished using direct DOM manipulation. For example, an old airline reservation system
may have opened a calendar widget in a new browser window, and when the user clicked a
date, it would directly manipulate the value of the date form field on the parent window.