【初心者向け】HTTPとは?TCP/IPやプロトコル階層の基礎!

【初心者向け】HTTPとは?TCP/IPやプロトコル階層の基礎!

投稿日: 2025年07月19日

Tips
要約
  • HTTPはクライアントとサーバ間でリソースをやり取りするためのプロトコルであり、TCP/IPを基盤としています。
  • TCP/IPは階層型プロトコルでネットワークインタフェース層、インターネット層、トランスポート層、アプリケーション層に分かれており、それぞれ異なる役割を果たしています。
  • 次回はHTTPリクエストやレスポンスの具体的な仕組みについて詳しく解説します。
音声で記事を再生

はじめに

HTTPについての内容を書いていきます!
HTTPはTCP/IPをベースとしたプロトコルです!!
まずはTCP/IPの基礎知識を見ていきましょう!

HTTPとは?

HTTPはWEB上でやり取りするリソースの表現を、クライアントとサーバの間でやり取りするためのプロトコルとなります。
クライアントはHTTPに従ってサーバにリクエストを送って、レスポンスを得ます。

 

HTTPの重要性

HTTPはRFC2616で規定されているプロトコルです。(現在は、後継のRFCに置き換えられている)
HTTPは名前こそハイパーテキストだけではなく、静止画像、音声、動画、JavaScriptプログラム、PDFや各種オフィスドキュメントファイルなど、コンピューターで扱えるデータであればなんでも転送できます。
僕らが普段PC扱えているのも、HTTPの役割がとても大きく影響していることがわかると思います!
HTTPはRESTの重要な特徴である、統一インタフェース、ステートレスサーバ、キャッシュなど実現している、Webの基盤となるプロトコルなんです!


HTTP RFCとは?
インターネット上で情報を伝達するためのプロトコルであるHTTP/1.1の仕様を定義した文書です。
現在では、後継のRFC 7230, 7231, 7232, 7233, 7234, 7235に置き換えられているらしいです。

TCP/IPとは何か?

HTTPはTCP/IPをベースにしています。
TCP (Transmission Control Protocol) と IP (Internet Protocol)は、インターネットの基盤を構成する重要なネットワークの基盤です。
HTTPを知る上で最低限必要となるTCP/IPの知識について見ていきましょう!!

階層型プロトコル

インターネットのネットワークプロトコルは階層型で構成されています(図を参照
各層ごとに役割が分かれており、下位層の実装が抽象化されているため、
物理的な通信手段(メタル線や光ファイバーなど)に関係なく、上位層ではWebアプリやチャットサービスなどのアプリケーションを意識的に作ることができます。

ネットワークインタフェース層

ネットワークインタフェース層は、物理的な通信手段や機器に関わる層であり、LANケーブル、Wi-Fi、ネットワークアダプタ(NIC)などが該当します。
この層では、ビット単位のデータを電気信号や電波としてやり取りするため、通信の最も低い部分を担っています。

インターネット層

ネットワークインタフェース層にはインターネット層があります。
この層が相当するのは、ネットワークでデータを実際にやり取りする部分です。
TCP/IPではIPが相当します。
IPではデータの基本的な通信単位を「パケット(Paket)」と呼びます。
指定したIPアドレスを送り先にして、パケット単位でデータをやり取りして通信します。
IPでは、自分のネットワークインターフェースでデータを送り出すことだけを保証しています。
送り出したデータが、多数のルータを経由して最終的な送り先まで届くかどうかは保証されていません。

トランスポート層

インターネット層の上には、トランスポート層があります。
IPでは通信相手にデータを届けることはできますが、データが正確に届いたか、順番が保たれているかといった信頼性の保証はありません
それを補うのがトランスポート層の役割であり、TCP/IPでは TCP がそれに該当します。

TCPでは、通信相手との間でコネクション(接続)を確立し、そのコネクションを通じてデータを送受信します。
このとき、データの抜け漏れや順序の乱れがないかを確認し、確実に届いたかどうかを保証する仕組みが備わっています。

また、TCPのコネクションを通じて送られるデータが、どのアプリケーションに渡されるかは ポート番号 によって決まります。
よく使われるサーバアプリケーションには デフォルトのポート番号 が割り当てられており、
たとえば HTTP はポート番号80 を、HTTPS は443 を使用します。

アプリケーション層

アプリケーション層のプロトコルである HTTP は、私たちが普段使う Web ブラウザや Web サーバの通信に使われています。
こうした通信は、内部的には TCP という下位のプロトコルの上に構築されており、プログラムからは ソケット(Socket) と呼ばれるライブラリを通じて扱うのが一般的です。

ソケットは、ネットワークでの接続・データ送信・受信・切断といった処理を抽象化した API で、HTTP サーバやブラウザなどもこの仕組みを使って実装されています。

現在は多くのプログラミング言語に HTTP 用のライブラリやフレームワークが用意されているため、開発者が HTTP をゼロから実装する必要はほとんどありません。
しかし、Web サービスや Web API を開発する際には、HTTP のプロトコルレベルでの動作(リクエスト・レスポンスの構造、ステータスコード、ヘッダーなど)を理解しておくことが、正確な設計やトラブル対応に役立ちます。

図 階層型プロトコル

HTTPの基本|ShiftBブログ

さいご

今回は、HTTPを理解するために欠かせないTCP/IPやネットワークの基礎について解説しました。
次回は、HTTPリクエストやレスポンスの具体的な仕組みについて詳しく見ていきます。
ぜひ引き続きご覧ください!

シェア!

Threads
Loading...
記事一覧に戻る
Threads
0