Henrik Frystyk, July 94
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:
- Multipurpose Internet Mail Extensions
- File Transfer Protocol
- 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:
- Text
- 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.
- Multipart
- 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.
- Application
- 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.
- Message
- 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.
- Image
- This content type describes still images and pictures
- Audio
- Used for audio or voice data objects
- Video
- 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:
- 7bit
- 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>.
- 8bit
- 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.
- binary
- 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