Application Layer

2.1 Principles of Network Applications

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.1.3 Application-Layer Protocols

An application-layer protocol defines how an application's processes, running on different end systems, pass messages to each other.  In particular, an application-layer protocol defines:
  • The types of messages exchanged, for example, request messages and response messages.
  • The syntax of the various message types, such as the fields in the message and how the fields are delineated.
  • The semantics of the fields, that is, the meaning of the information in the fileds.
  • Rules fro determining when and how a process sends messages and responds to messages.

Some application-layer protocols are specified in RCFs and are therefore in the public domain.

It is important to distinguish between network applications and appllication-layer protocols.  An application-layer protocol is only one piece of a network application.