プレゼンテーション層(プレゼンテーションそう、英: Presentation layer)とは、OSI参照モデルにおける七階層の内の第六層である。プレゼンテーション層はアプリケーション層からのサービス要求に応じ、またセッション層に対してサービス要求を行う。
プレゼンテーション層は、より一層の処理または表示をするためにアプリケーション層への情報の配布と書式の整形に対する責任が有る。それは、エンド・ユーザ・システム内部のデータ表現について、アプリケーション層が構文の違いを意識しなくても良いようにする。注意: プレゼンテーション・サービスの一例としては、EBCDICコードのテキストファイルをASCIIコードのファイルへ変換する事が挙げられる。
プレゼンテーション層は、単なる1と0の束より更に高い次元で送信する事について、人々が意識し始める最初のものである。この層はどのように文字列が表されるか、例えばPascal言語(整数のデータ長領域の後に指定されたバイト数が続く)方式を使うかそれともC/C++言語(NULL文字で終端された文字列、つまり"thisisastring\0
")方式を使うか、といった問題を取り扱う。その意図は、アプリケーション層が動かされるデータを指し示せるべきという事であり、またプレゼンテーション層はその後の事を取り扱うであろう。
アプリケーション層、セッション層、トランスポート層、またはネットワーク層でも暗号化できるがそれぞれ一長一短が有り、典型的にはこの層でも暗号化される。もう一つの例は、この水準で通常標準化される構造をしばしばXMLを用いて表している。文字列のような単純なデータ部分はもちろんの事、より複雑な事もこの層で標準化される。二つの一般的な例は、オブジェクト指向プログラミングでの'オブジェクト'と、ストリーミングビデオが転送される正確な方法である。
広く用いられる多くのアプリケーションとプロトコルにおいて、プレゼンテーション層とアプリケーション層は区別されない。例えば、一般にアプリケーション層プロトコルと見なされるHTTPは、適切な変換をするため文字コードを識別するというプレゼンテーション層の側面が有り、その後、それはアプリケーション層の中で行われる。
プレゼンテーション層は二つの副層から成る:
CASEはアプリケーション層のサービスとプレゼンテーション層からの要求サービスを提供する。CASEは以下のような一般のアプリケーションにサービスへの対応を提供する:
SASEは以下のような特定アプリケーションのサービス(プロトコル)を提供する
Owlapps.net - since 2012 - Les chouettes applications du hibou