Residing at Layer 6 of the Open Systems Interconnection (OSI) communications model, the presentation layer ensures that the communications that pass through it are in the appropriate form for the recipient application. In other words, it presents the data in a readable format from an application layer perspective.
For example, a presentation layer program could format a file transfer request in binary code to ensure a successful file transfer. Because binary is the most rudimentary of computing languages, it ensures that the receiving device will be able to decipher and translate it into a format the application layer understands and is expecting.
The application layer passes data meant for transport to another device in a certain format. The presentation layer then prepares this data in the most appropriate format the receiving application can understand. Common formats include ASCII and extended binary-coded decimal interchange code (EBCDIC) for text; JPEG, GIF and TIFF for images; and MPEG, MIDI
Encryption and decryption of data communications are also commonly performed at the presentation layer. Here, encryption methods and keys are exchanged between the two communicating devices. Thus, only the sender and receiver can properly encode and decode data so it returns to a readable format.
Finally, the presentation layer can serialize -- or translate -- more complex application data objects into a storable and transportable format. This helps to rebuild the object once it arrives at the other side of the communications stream. Thus, the presentation layer also deserializes the data stream and places it back into an object format that can be understood by the application.
An example of a program that loosely adheres to the presentation layer of OSI is the tool that manages the Hypertext Transfer Protocol (HTTP) -- although it's technically considered an application-layer protocol per the TCP/IP model.
However, HTTP includes presentation layer services within it. HTTP works when the requesting device forwards user requests passed to the web browser onto a web server elsewhere in the network.
It receives a return message from the web server that includes a multipurpose internet mail extensions (MIME) header. The MIME header indicates the type of file -- text, video, or audio -- that has been received so that an appropriate player utility can be used to present the file to the user.
Functions of the presentation layer
- ensures proper formatting and delivery to and from the application layer;
- performs data encryption; and
- manages serialization of data objects.