Henrik Frystyk, July 94

WWW Icon Presentation Layer Protocols

This section introduces some of the Presentation Layer protocols on the Internet that are related to the World-Wide Web project. The main WWW protocol, Hypertext Transfer Protocol is described in the The HTTP Protocol. The protocols presented are:
  1. Multipurpose Internet Mail Extensions
  2. File Transfer Protocol
  3. Network News Transfer Protocol

Multipurpose Internet Mail Extensions

The Multipurpose Internet Mail Extensions (MIME) protocol is an extension to the Standard for the Format of ARPA Internet Text Messages. This protocol has defined the standard format of textual mail messages on the Internet since it came out in 1982. It describes the format of message headers but it tells little about the content of the body of the message which is limited to 7-bit ASCII characters. The MIME protocol provides the necessary extension to the MAIL protocol in order to transfer possibly multi-part textual and non-textual data object in the body of a MAIL message.

The protocol basically specifies a set of header lines that together with a set of name-value pairs. The reason for describing the MIME protocol in this document is that it is an important part of the Hypertext Transfer Protocol (HTTP) described later. In the following, the most important header lines are introduced:

Content Type

The content type header field is a set of types and subtypes that specifies the content of the body part of a MAIL message. The protocol specifies 7 content types and a large set of subtypes, specified in the header as
	Content-Type: <type> / <subtype> *(";" parameter)
The idea behind this format is to let MIME compliant software know the maintype of a data object even though it might not be able to handle the specific subtype. The main types are:
Used to represent textual data objects. The character set used can be specified as a parameter and can in be any ASCII or ISO character set.
This type does not describe the specific content of the body but allows the body to consist of several body parts into the same message. Each body can then have its own content-type that again might be a multi-part message. The multi-part content type provides the possibility of a hierarchical data object structure in MIME conforming messages.
This content type describes binary data in some form. In practice it is often used to describe data objects that a MIME frontend does not know how to handle otherwise. The default action taken is to dump the content to, e.g., a local file to allow further processing by other processes.
It is often desirable to encapsulate a MAIL message into another, e.g. when forwarding a message to a new recipient. The Message content type has been defined for this purpose.
This content type describes still images and pictures
Used for audio or voice data objects
Used for transmitting video frames or moving image data. The current subtype is mpeg
The last three content-types all have a vast amount of subtypes as the number of graphical and audio data formats is very big. However the content type allows every MIME conforming frontend to handle it in an intelligent manner.

Content Transfer Encoding

The content transfer encoding describes the encoding or merely the format of the data being transferred in the message. Three special transfer encodings that all mean No encoding are defined as:
The body consists of short lines separated by the <CRLF> (carriage return; Line Feed) sequence. All characters can be represented in a 7-bit character set. The Simple Mail Transfer Protocol defines a short line as maximum 1000 characters including the <CRLF>.
The body consists of short lines separated by the <CRLF> (carriage return; Line Feed) sequence. All characters can be represented in a 8-bit character set.
The body is a byte stream without any specific line separation. All characters can be represented in a 8-bit character set.
The content type can also specify a special encoding of, e.g., a 8-bit message into a 7-bit so that it can transferred over a 7-bit communication channel.

File Transfer Protocol

The File Transfer Protocol is one of the best known protocols on the Internet. It has a highly state oriented structure using a control channel using the Telnet Protocol and a data channel for each data transfer. A FTP-session is characterized by having an excessive amount of control information exchange. This makes it very expensive to exchange small data objects as the relative part of control information is high.

Even though the FTP protocol is session oriented, the FTP address space is completely flat. This means that no guarantee is given for the user to be able to return to the same point in the address space without closing the session and start all over again.

FTP clients and servers tend to be implemented as minimum solutions which only provides the absolute minimum service to the user.

Network News Transfer Protocol

The Network News Transfer Protocol (NNTP) is used for the destribution, inquery, retrieval, and posting of news articles. The protocol is based on the TCP protocol and is a point-to-multi point protocol where information is spread like an avalanche. This is the oposite of the World-Wide Web princip where information is spread using a point-to-point method.

The NNTP protocol is client-server based in that news articles are stored on NNTP servers repeatedly getting updated when communicating to other NNTP servers. A client gets desired information spread via NNTP by requesting a local NNTP server.

Henrik Frystyk, frystyk@info.cern.ch, July 1994