Application Layer

2.2 The Web and HTTP

Home
Introduction
2.1 Principles of Network Applications
2.1.1 Network Application Architectures
2.1.2 Processes Communcating
2.1.3 Application-Layer Protocols
2.1.4 What Services Does an Application Need?
2.1.5 Services Provided by the Internet Transport Protocols
2.2 The Web and HTTP
2.2.1Overview of HTTP
2.2.2 Nonpersistent and Persistent Connections
2.2.3 HTTP Message Format
2.2.4 User-Server Ineraction: Cookies
2.2.5 HTTP Content
2.2.6 Web Caching
2.2.7 The Conditional GET
2.3 File Transfer: FTP
2.3.1 FTP Commands and Replies
2.4 Electronic Mail in the Internet
2.4.1 STMP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats and MIME
2.4.4 Mail Access Protocols
2.5 DNS--The Internet's Directory Service
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages
2.6 P2P File Sharing
2.7 Socket Programming with TCP
2.7.1 Socket Programming with TCP
2.7.2 An Example Client/Server Application in Java
2.8 Socket Programming with UDP

2.2.1 Overview of HTTP

The HyperText Transfer Protocol (HTTP), the Web';s application-layer jprotocol is at the heart of the Web.  HTTP is implemented in two programs: a client program and a server program.  The client program and server program, exzecuting on different end systems, talk to each other by exchanging HTTP messages.  HTTP defines the structure of these messages and how the client and server exchange the message.
 
A Web page(also called a document) consists of objects.  An object is simply a file--such as an HTML file, a JPEG image, a GIF image, a Java applet, an audio clip, ans so on--that is addressable by a single URL.  Most Web pages consist of a base HTML file and several referenced objects.
 
A browser is a user agent for the Web; it displays the requested Web page to the user and provides numberous navigational and configuration features.  Because Web browsers also implement the client side of HTTP, in the context of the Web, we will use the words browser and client interchangeablye. 

A Web server houses Web objects, each addressabvle by a URL.  Web servers also implement the server side of HTTP.
 
HTTP defines how Web clients request Web pages from Web servers and how servers transfer Web pages to clients.
 
HTTP uses TCP as its underlying transport protocol.  The HTTP client first initiates a TCP connection with the server.  Once the connection is established, the browser and the server processes access TCP through their socket interfaces.
 
 

kurose_320719_c02f06.gif

It is important to note that the server sends requested files to clients without storoing and state information about the client.