The New Web
The Web continues to grow more sophisticated as programmers and vendors build new and better variations. In recent years, the Web has come to rely more on custom services and special-purpose applications. In these new contexts, the Web server and Web browser are little more than links in an extensive delivery infrastructure. In fact, the concept of application data delivered through HTTP has outgrown the Web itself and is now simply a tool for software development. You'll learn more about the so-called Web services architecture in Hour 23. In the meantime, the following sections discuss some recent developments in the Web world. You'll learn about:
As you read the following sections, note that if there is an a unifying theme, it is that the Web acts as a simple and convenient interface for other applications.
Every year the World Wide Web looks more like television. It is now common to find video and audio images embedded in Web pages. In fact, you can even receive live broadcasts over the Web as if your computer is a radio or a television. Some of the more advanced streaming technologies are truly different from the ordinary HTML techniques you learned about earlier in this chapter. However, other forms of embedded multimedia are not especially different from other forms of HTML.
As you learned earlier in this Hour, an <A> tag with an HREF attribute is a reference to another resource. In previous examples, that resource was a Web page. However, the reference can point to any type of file as long as the browser knows how to interpret the file's contents. Modern browsers can handle many different types of file formats. Typically, the file extension (the part of the filename after the period, such as .doc, .gif, or .avi) tells the browser (or the operating system) what application to use to open the file. If the browsing computer has the necessary software to open the video or audio file, and if the browser or operating system is configured to recognize the file extension, the Web page can reference the file through an ordinary link, and the browsing computer will execute the file when the link is clicked.
When you install the software on the client computer (for instance, when you install the QuickTime viewer), the installer application typically registers the file extension(s) that the computer should use to open the application.
Of course, there is much more to the process of recording, encoding, and viewing a multimedia file. However, the details are not really the business of HTTP or TCP/IP. As far as the network is concerned, the server simply downloads a multimedia file to the client when a user clicks on the link.
By the Way
The fact that the browser sometimes uses other applications to open and execute files demonstrates that the whole HTTP ecosystem (HTTP, HTML, the Web server, the Web browser) is essentially a delivery method, much like the TCP/IP layers below.
This technique of transmitting multimedia data through an embedded link only works for clips of limited size and duration. Other technologies that provide real-time streaming multimedia data are also available. These technologies require a special type of server. Examples of real-time streaming video servers include the Windows Media Server and the QuickTime Streaming Server. As you might imagine, streaming video can require large amounts of network bandwidth, depending on the quality of the image you want to transmit.
Vendors and advertisers began to notice early on that the Web is a great way to get people to buy things. It is no secret that many Web sites look like long, intricate advertisements. Despite the hype, which is enough to make anyone doubt the validity of the design, the fact is that the Web really is a convenient and cost-effective way to shop. Rather than sending thousands of catalogs by direct mail, a vendor can simply post the catalog on the Web and let the customers find it through searches and links.
The business of buying over the Web did not really get started until vendors solved the security issues related to sending credit card information over the open Internet. In fact, Internet sales would not even be possible without the secure networking techniques you'll learn about in Hour 20. Most browsers are now capable of opening a secure communications channel with the server. This secure channel makes it impossible for a cyber thief to listen for passwords or credit card information.
A typical Web transaction scenario is shown in Figure 17.7. The process is as follows:
Operating system vendors such as Sun and Microsoft offer transaction server applications to assist with the important task of processing orders over the Web. Because Web transactions are highly specialized, and because they require an interface with existing applications on the vendor's network, application frameworks such as Sun ONE, WebSphere, and .NET provide special tools to assist with the task of constructing a transaction infrastructure.
By the Way
In Figure 17.7, note that the Web server is in front of a firewall. In large-scale commercial settings, the firewall configuration might be more complicated, with another firewall in front of the Web server that blocks some traffic but leaves the Web server open for Web traffic. Also, on high-volume Web sites, you're more likely to find a collection of Web servers sharing the load, rather than a single server. You'll learn more about clusters and server farms in Hour 23.
Note also that the connections from the Web server to the back end servers appear to go around or through the firewall. The firewall configuration can provide special exceptions for a trusted host with a specific IP address to establish a connection through a specific port. Alternatively, the connection to the back end could be through a dedicated line that is separate from the main network.
A new information sharing technique that emerged through Internet music-sharing communities such as Napster is called peer-to-peer (P2P). The term peer-to-peer is actually borrowed from a related configuration on LAN networks, in which services are decentralized and every computer acts as both a client and a server. This new Internet peer-to-peer variant allows computers throughout the Internet to share data in data-sharing communities. In other words, the data doesn't come from a single Web server serving requests from a multitude of clients. Instead, the data resides on ordinary PCs throughout the community.
If you have read this book carefully, you might be wondering how this peer-to-peer scenario I've just described is any different from ordinary networking. All I really said in the preceding paragraph is that each peer must be capable of acting as both a client (requesting data) and a server (fulfilling requests). The short answer is that, after the connection is established, peer-to-peer networking is just ordinary networking. The long answer is the reason why peer-to-peer networking is considered somewhat revolutionary.
The Internet was created with diversity as a goal, and it is theoretically possible for any Internet-ready computer to establish a connection with any other compatible Internet-ready computer anywhere in the world. However, consider the following:
The designers of the peer-to-peer technique knew their vision of a diverse music-sharing community would not work unless they solved these problems. Their solution was to provide a central server to dispense connection information that the clients could then use to establish connections with each other. As shown in Figure 17.8, User A logs on to the Internet. The client software on the user's PC registers the user's presence with the server. The server keeps a record of the client's IP address and any files the client has made available to the community. User B connects to the server and discovers that a desired file is available on User A's computer. The server gives User B the necessary information to contact User A. User B contacts User A, establishes a direct connection, and downloads the file.
Figure 17.8. A peer-to-peer computer registers its address and a list of its resources. Other computers then access those resources through a direct connection.
The best part about peer-to-peer communities is that the details of requesting the IP address and establishing the connection are handled within the software. The user stays within the user interface of the peer-to-peer application and doesn't need to know anything about networking.
Peer-to-peer networking has come under fire recently, but not because of the technology. The problems are purely legal. One of the reasons for the development of P2P was to facilitate the untraceable (and sometimes illegal) exchange of copyrighted materials.