概要
HTTP(HyperText Transfer Protocol)とは、「Webブラウザとサーバーの間でデータをやり取りするためのルール(通信規約)」です。
例えば、あなたがWebサイトを見るとき、ブラウザは裏側で「このページを見せてください」とサーバーにお願いしています。 サーバーは「わかりました、このHTMLファイルをどうぞ」と返してくれます。 このやり取りをスムーズに行うための「共通語」がHTTPです。
HTTPSは、HTTPに「S(Secure)」が付いたもので、 通信内容を暗号化して安全にやり取りできるようにしたバージョンです。 詳しくはMDN - HTTPも参照してください。
HTTPメソッドを体験してみよう
下のデモでそれぞれのHTTPメソッドをクリックして、使い方と用途を確認できます。 実際に手を動かすことで、HTTPの動作が理解しやすくなります。
HTTPメソッドを選択
↑ HTTPメソッドを選択してください
ヒント:一般的なWebサイト閲覧では主にGETメソッドが使われ、フォーム送信ではPOSTメソッドが使われます。
プロトコルとは?「同じ道を走る別の車」の比喩
インターネットは、世界中のコンピュータをつなぐ大きな道路のようなものです。 この道路を、目的に応じて異なる「車」が走ります。
HTTPはWebページを見るための「車」、SMTPはメールを送るための「車」です。同じ道を走りますが、目的が違うのです。
| プロトコル | 役割 | 比喩 | ポート番号 |
|---|---|---|---|
| HTTP | Webページを表示する | 観光バス(Webページを運ぶ) | 80番(HTTP)、443番(HTTPS) |
| SMTP | メールを送信する | 郵便トラック(メールを運ぶ) | 25番(標準)、587番、465番 |
💡 ポイント:インターネットという「同じ道」を、HTTPやSMTPなどの「違う車」が走っています。IPアドレスとポート番号が「住所と部屋番号」なら、 プロトコルは「その部屋で何をするか」を決めるルールです。
URLを入力してから画面が表示されるまで
Webサイトを見るとき、ブラウザのアドレスバーにhttps://itwords.jpのようなURLを入力しますよね。 実は、HTTPのやり取りが始まる前に、重要なステップがあります。
- DNSで名前解決:ブラウザはまずDNSサーバーに問い合わせて、 ドメイン名(
itwords.jp)をIPアドレスに変換します。 これを「名前解決」と呼びます。 - Webサーバーに接続:取得したIPアドレスを使って、Webサーバーに接続します。
- HTTPでリクエスト:ここで初めてHTTP(またはHTTPS)のルールに従って、 「このページを見せてください」とリクエストを送ります。
- HTMLを受け取って表示:サーバーがHTMLなどのデータを返し、ブラウザが画面に表示します。
つまり、DNS → Webサーバー接続 → HTTPでデータ取得 → 表示という流れで、 URLから情報が返ってくるまでに、複数の仕組みが連携して動いています。
HTTPとHTTPSの違い
簡単に言うと、鍵をかけずに手紙を送るか、鍵付きの封筒で送るかの違いです。
| 項目 | HTTP | HTTPS |
|---|---|---|
| 暗号化 | なし(平文) | あり(SSL/TLS) |
| セキュリティ | 低い(盗聴・改ざんリスク) | 高い(通信内容が保護される) |
| URLの表示 | http://example.com | https://example.com |
| ブラウザ表示 | 「保護されていない通信」警告 | 鍵マーク表示 |
| 利用場面 | 現在はほぼ非推奨 | ログイン、決済、個人情報入力など |
💡 ポイント: 現代のWebサイトでは、ほぼすべてのサイトがHTTPSを使っています。 GoogleもHTTPSを使っているサイトを検索結果で優遇するため、HTTPSが標準になっています。
HTTPの通信の流れ
Webページを表示するとき、裏側でこんなやり取りが起きています:
- リクエスト(Request):ブラウザがサーバーに「このページを見せて!」とお願いする
- 処理:サーバーがリクエストを受け取り、必要なデータ(HTML、画像など)を準備する
- レスポンス(Response):サーバーがブラウザに「はい、どうぞ!」とデータを返す
- 表示:ブラウザが受け取ったHTMLやCSSを解釈して、画面に表示する
この一連のやり取りは、一瞬で完了します。
HTTPメソッド
HTTPには「何をしたいか」を伝えるためのメソッド(命令の種類)があります。
| メソッド | 意味 | 使う場面 |
|---|---|---|
GET | データを取得する | Webページを表示、検索結果を取得 |
POST | データを送信する | フォーム送信、ログイン、新規作成 |
PUT | データを更新する | 既存データの書き換え |
DELETE | データを削除する | 投稿の削除、アカウント削除 |
例: Googleで検索するときはGET、 会員登録フォームを送信するときはPOSTが使われています。
HTTPステータスコード
サーバーからの返事には、「成功したか」「失敗したか」を示す番号(ステータスコード)が付いてきます。
| コード | 意味 | 説明 |
|---|---|---|
200 | OK | 成功。ページが正常に表示できた |
301 | Moved Permanently | ページが別の場所に移動した(リダイレクト) |
404 | Not Found | ページが見つからない |
500 | Internal Server Error | サーバー側でエラーが発生 |
503 | Service Unavailable | サーバーが一時的に利用不可(メンテナンスなど) |
💡 ポイント: 「404エラー」は誰でも見たことがあるはず! これは「リクエストしたページが存在しない」という意味です。
SSL/TLSとは?
HTTPSで使われる暗号化技術をSSL(Secure Sockets Layer)またはTLS(Transport Layer Security)と呼びます。
正確には、SSLは古い規格でTLSが新しい規格ですが、 今でも「SSL証明書」「SSL化」のように「SSL」という言葉が広く使われています。
HTTPSの仕組み
- 鍵の交換: ブラウザとサーバーが「この鍵で暗号化しよう」と約束する
- 暗号化通信: 約束した鍵を使ってデータを暗号化してやり取りする
- 復号化: 受け取った側が鍵を使ってデータを元に戻す
この仕組みにより、たとえ通信途中で誰かがデータを盗み見ても、 暗号化されているため内容を読むことができません。
詳しくはMDN Web Docs - HTTPやMDN Web Docs - HTTPSで確認できます。
実際の確認方法
今見ているこのサイトのURLを確認してみましょう:
https://itwords.jp/terms/httpURLの最初がhttps://になっていて、ブラウザのアドレスバーに鍵マークが表示されているはずです。
🔒 セキュリティのヒント:ログイン画面やクレジットカード情報を入力する際は、必ずURLがhttps://で始まっていることを確認しましょう!
関連用語
| 用語 | 説明 |
|---|---|
| API | HTTPを使ってデータをやり取りするWeb APIが一般的 |
| Cookie | HTTPでやり取りされる小さなデータ(ログイン状態の保持など) |
| IPアドレスとポート番号 | IPアドレスが「住所」、ポート番号が「部屋番号」。HTTPはポート80番、HTTPSはポート443番を使う |
| SMTP | メールを送信するためのプロトコル。HTTPと同じ「インターネットの道」を使うが、目的が違う |
| DNS | ドメイン名をIPアドレスに変換する仕組み。HTTPの前に名前解決が行われる |