※本記事にはプロモーションが含まれます。
OSI参照モデルの一番上にあるのが第7層(アプリケーション層)です。ブラウザでWebページを見る、メールを送る、URLからサーバーの場所を調べる、といった、私たちがふだん使うサービスの通信のルールがこの層にあたります。
この記事では、アプリケーション層の役割、HTTP・DNS・メールなどの身近な例、TCP/IPモデルでの位置づけ、Webサーバーやプロキシとの関係、よくあるトラブルと確かめ方を解説します。

アプリケーション層とは?役割をひとことで

アプリケーション層は、アプリが「何を」やりとりするかのルールを決める層です。下の層が「どう運ぶか」を受け持ってくれるので、アプリケーション層は「このページをください」「このメールを届けてください」「この名前のIPアドレスを教えてください」といった、やりとりの中身に集中できます。
なお、ここでいう「アプリケーション」はブラウザなどのソフトそのものではなく、ソフトが使う通信のルール(プロトコル)のことです。ブラウザはアプリケーション層のプロトコル(HTTP)を使って通信する、と考えます。
アプリケーション層の身近な例
| 用途 | プロトコル | 身近な場面 |
|---|---|---|
| Webページを見る | HTTP/HTTPS(RFC 9110) | ブラウザでサイトを開く、アプリがAPIを呼び出す |
| 名前からIPアドレスを調べる | DNS(RFC 1034・1035) | www.example.com を入力すると、裏でIPアドレスを調べている |
| メールを送る | SMTP(RFC 5321) | メールソフトから送信する、サーバー間でメールを中継する |
| メールを受け取る | IMAP、POP3 | メールソフトで受信箱を見る |
| ほかのコンピューターを操作する | SSH | サーバーにログインしてコマンドを打つ |
| ファイルを送る | FTP、SFTP | サーバーにファイルをアップロードする |
RFC 1122は、アプリケーション層のプロトコルを、利用者に直接サービスを提供する「ユーザープロトコル」(Telnet、FTP、SMTPなど)と、名前の解決や管理など共通の機能を提供する「サポートプロトコル」(DNS、SNMPなど)の2種類に分けて説明しています。データの呼び方(PDU)は、一般に「データ」や「メッセージ」です。
HTTPのやりとり

HTTPは、ブラウザ(クライアント)がリクエストを送り、Webサーバーがレスポンスを返す、という形のやりとりです。レスポンスには、結果を表す3けたのステータスコードが付きます(RFC 9110)。
| ステータスコード | 意味 | よくある場面 |
|---|---|---|
| 200 OK | 成功 | ページがふつうに表示された |
| 301 Moved Permanently | 恒久的に移動した | URLが変わり、新しいURLに転送された |
| 404 Not Found | 見つからない | URLのまちがい、ページが削除された |
| 500 Internal Server Error | サーバー内部のエラー | サーバー側のプログラムや設定の問題 |
| 503 Service Unavailable | 一時的に利用できない | アクセス集中やメンテナンス中 |
Webサーバーとアプリケーション層
Webサイトを公開するには、HTTPのリクエストを受け取ってレスポンスを返すWebサーバーが必要です。自分でサーバーを用意して設定する方法のほかに、Webサーバーがすでに用意されたレンタルサーバーを借りる方法もあります。どちらの場合も、ブラウザとWebサーバーの間で行われているのは、アプリケーション層のHTTPのやりとりです。「ページが開かない」ときにステータスコードを見ると、問題がブラウザ側か、Webサーバー側かの見当がつけやすくなります。
まず手軽にWebサイトを公開してみたい人は、レンタルサーバーを使う方法もあります。
DNS:名前からIPアドレスを調べる
人がURLに書くのは www.example.com のような名前ですが、通信に必要なのはIPアドレス(第3層)です。DNSは、名前に対応するIPアドレスなどの情報を調べるしくみで、RFC 1034・1035で定められています。DNSが答えられないと、ネットワークがつながっていても「サイトが見つかりません」となります。
プロキシ・ファイアウォールとアプリケーション層
アプリケーション層の中身(URLやHTTPのヘッダーなど)を見て動くしくみもあります。
- プロキシサーバー:ブラウザの代わりにWebサーバーへアクセスし、結果を中継する。HTTPの中身を見て、キャッシュしたり、アクセスを制限したりできる。くわしくはプロキシサーバーとは?仕組みとVPNとの違いで解説しています
- アプリケーションゲートウェイ型ファイアウォール、WAF:通信の中身まで見て、あやしいリクエストを止める。IPアドレスやポート番号(第3〜4層)だけを見るファイアウォールとのちがいは、ファイアウォールの重要性と仕組みを徹底解説で紹介しています
- L7ロードバランサー:URLのパスなどを見て、通信を複数のサーバーに振り分ける
TCP/IPモデルではどこにあたる?
RFC 1122が定めるTCP/IPの4つの層では、OSIのアプリケーション層はアプリケーション層にあたります。ただし、RFC 1122によると、TCP/IPのアプリケーション層は、OSIの上の2つの層(プレゼンテーション層とアプリケーション層)の機能をまとめたものです。また、TCP/IPには独立したセッション層もないため、一般に第5〜7層の役割をまとめてTCP/IPのアプリケーション層が受け持つと説明されます。
そのため、HTTPの中には文字コードの指定(Content-Type の charset)や圧縮の指定(Content-Encoding)、Cookieによるセッションの管理など、OSIでいえば第5〜6層にあたる役割もふくまれています。
よくあるトラブルと確かめ方
よくある症状と原因
- 「サイトが見つかりません」と出る:DNSで名前が引けていない(URLのまちがい、DNSの設定や障害)
- 404が出る:URLのまちがい、ページの移動や削除
- 500番台が出る:Webサーバー側の問題(プログラムのエラー、アクセスの集中、メンテナンス)
- メールが送れない:送信サーバーの設定(サーバー名、ポート番号、認証)のまちがい
アプリケーション層の問題を調べる前に、下の層(IPアドレスがあるか、相手まで届くか)が問題ないかを先に確かめておくと、原因をしぼりやすくなります。
コマンドで確かめる
次のコマンドは、名前の問い合わせやWebページの取得を1回だけ行う確認用です。
dig www.example.com
DNSに名前を問い合わせ、結果を表示します。ANSWER SECTION にIPアドレスが出ていれば、名前は引けています。status: NXDOMAIN なら、その名前は見つかりませんでした。dig がない環境では nslookup www.example.com でも確かめられます。
curl -I https://www.example.com/
Webページの本文は取らずに、レスポンスのヘッダーだけを表示します。1行目の HTTP/2 200 や HTTP/1.1 404 Not Found のステータスコードを見ると、Webサーバーが何と答えているかがわかります。
curl -v https://www.example.com/ -o /dev/null
名前の解決、接続、TLS、HTTPのリクエストとレスポンスまで、やりとりの流れを順に表示します(本文は捨てます)。どの段階で止まっているかを見ると、どの層の問題かの見当がつきます。
よくある質問
HTTPとHTTPSは同じ層?
HTTP自体はアプリケーション層のプロトコルです。HTTPSは、HTTPをTLSで暗号化して送るしくみです。TLSは、役割としては第5〜6層に近いと説明されることが多いものの、OSIに合わせて作られたプロトコルではないため、資料によって扱いが異なります。
アプリケーション層=アプリのこと?
ちがいます。アプリケーション層は、アプリが使う「通信のルール」です。たとえば、ChromeもSafariも別のアプリですが、どちらも同じHTTPというアプリケーション層のプロトコルを使ってWebサーバーと通信します。
DNSはどの層?
DNSは、アプリケーション層のプロトコルです。RFC 1122では、名前の解決などの共通の機能を提供する「サポートプロトコル」の一つとして挙げられています。ふだんは意識しませんが、Webページを開く前に、ほとんどの場合DNSの問い合わせが行われています。
まとめ
- アプリケーション層は、アプリが何をやりとりするかのルールを決める、OSI参照モデルの一番上の層
- HTTP、DNS、SMTP、SSHなどが身近な例。HTTPのステータスコードは問題の見当をつける手がかりになる
- プロキシ、WAF、L7ロードバランサーは、この層の中身を見て動く
- TCP/IPのアプリケーション層は、OSIの第5〜7層の役割をまとめて受け持つ
- 確かめるときは
dig(名前の解決)、curl -I(ステータスコード)、curl -v(やりとりの流れ)を使う
前の層は第6層(プレゼンテーション層)です。OSI参照モデル全体の流れは、シリーズの全体解説の記事で紹介しています。
OSI参照モデル シリーズ記事
このシリーズでは、OSI参照モデルの全体像と、7つの層を1つずつ解説しています(各記事は順に公開予定です)。
- OSI参照モデルとは?(全体像)
- 第1層 物理層
- 第2層 データリンク層
- 第3層 ネットワーク層
- 第4層 トランスポート層
- 第5層 セッション層
- 第6層 プレゼンテーション層
- 第7層 アプリケーション層
参考資料
- ISO/IEC 7498-1:1994 Information technology — Open Systems Interconnection — Basic Reference Model: The Basic Model
- ITU-T Recommendation X.200 (07/94) Basic Reference Model: The basic model
- RFC 1122: Requirements for Internet Hosts – Communication Layers
- RFC 9110: HTTP Semantics
- RFC 1034: Domain names – concepts and facilities
- RFC 1035: Domain names – implementation and specification
- RFC 5321: Simple Mail Transfer Protocol

コメント