HTTP/HTTPS

HTTP/HTTPSの違い、リクエストとレスポンス、メソッド、ステータスコード、TLSと証明書までやさしく整理。

編集・検証: ITパスポートスタディ編集部 公式情報: IPA ITパスポート試験公式ページ 制作・検証方針

ブラウザにURLを打つと、裏では決まった「やりとりの作法」でページが運ばれてきます。それがHTTP/HTTPSです。リクエストとレスポンス、メソッド、ステータスコード、そして暗号化のしくみまで、会話でほどいていきましょう。

星見 めい(普段) 星見 めい

アドレスバーって http:// のときと https:// のときがあるじゃん。
あれって何が違うの?

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

いい入口ね。
HTTPはWebの通信ルールそのもの。
HTTPSはそのHTTPに暗号化のフタをかぶせた版よ。

星見 めい(普段) 星見 めい

フタ?

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

ふふ、たとえるならHTTPはハガキ、HTTPSは封筒。
ハガキは途中で誰でも文面を読めるけど、封筒に入れれば中身は守られる。
今のWebは個人情報を扱うから、ほぼ全部が封筒、つまりHTTPSなのよ。

小夜川 ほのか(普段) 小夜川 ほのか

じゃあ http だけのサイトって、ちょっとあぶないのぉ?

蜂谷 まこと(普段) 蜂谷 まこと

そうですね。
パスワードなどが平文のまま流れる可能性があります。
だからブラウザは http だけのページに『保護されていない通信』と警告を出すんです。

蜂谷 まこと(普段) 蜂谷 まこと

通信の中身を整理すると、クライアントが出すリクエストと、サーバが返すレスポンスの往復が基本です。

星見 めい(普段) 星見 めい

注文して、料理が出てくる感じだ。
じゃあ『注文の仕方』にも種類があるってこと?

蜂谷 まこと(普段) 蜂谷 まこと

鋭いです。
それがHTTPメソッド。
代表はGET(取得)とPOST(送信)の二つ。

蜂谷 まこと(普段) 蜂谷 まこと

GETは検索のようにURLへ値が見える形で付き、POSTはフォーム送信のように本文に入れて送る。
さらにPUT(更新)とDELETE(削除)もあります。

小夜川 ほのか(笑顔) 小夜川 ほのか

取得・作成・更新・削除…なんだかCRUDみたいですぅ!

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

その対応づけ、覚え方として優秀よ。
GET=Read、POST=Create、PUT=Update、DELETE=Deleteと並べると頭に残るわ。

星見 めい(普段) 星見 めい

で、レスポンスが返ってくると。
404 Not Found ってよく見るやつ、あれもレスポンス?

紫垣 こはる 先生(普段) 紫垣 こはる 先生

そう、それがステータスコード。
3桁の数字で結果を伝えるの。
百の位で大まかに分かれるのがコツよ。

蜂谷 まこと(普段) 蜂谷 まこと

2xxは成功、3xxはリダイレクト(別のURLへ転送)、4xxはクライアント側のミス、5xxはサーバ側の異常。
番台で見当がつきます。

星見 めい(笑い) 星見 めい

なるほど、4で始まったら自分(ブラウザ側)が悪い、5で始まったら向こう(サーバ)が悪い、ってことね。
マジ分かりやすいじゃん。

紫垣 こはる 先生(普段) 紫垣 こはる 先生

代表は200(成功)、301(恒久リダイレクト)、401(認証が必要)、403(アクセス禁止)、404(見つからない)、500(サーバエラー)、503(混雑で一時的に不可)。
401と403の違いは試験で狙われるわよ。

小夜川 ほのか(あせる) 小夜川 ほのか

えっと…401と403って、どっちもダメな感じで紛らわしいですぅ。

蜂谷 まこと(普段) 蜂谷 まこと

401は『あなたが誰か分からない、ログインして』。
403は『誰かは分かったけど、その権限はない』。
入館証を持っていない人と、入館証はあるが立入禁止区域に来た人、の違いです。

小夜川 ほのか(笑顔) 小夜川 ほのか

あぁ〜、それなら区別できそうですぅ!

蜂谷 まこと(普段) 蜂谷 まこと

バージョンも進化しています。
HTTP/2は複数のやりとりを束ねて速くし、HTTP/3はUDPベースのQUICを採用してさらに高速・低遅延になりました。

星見 めい(普段) 星見 めい

へぇ、HTTPもアップデートされてくんだ。
じゃあ最初の暗号化、封筒のしくみは結局なんなの?

紫垣 こはる 先生(普段) 紫垣 こはる 先生

それがTLS。
HTTPSはHTTPをTLSで包んだもの。
TLSの旧名がSSLで、今でも『SSL証明書』と呼ばれたりするけど中身はTLSよ。

蜂谷 まこと(普段) 蜂谷 まこと

通信相手が本物か確かめるためにサーバ証明書を使います。
これは認証局(CA)という第三者が発行し、なりすましを防ぎます。

小夜川 ほのか(笑顔) 小夜川 ほのか

アドレスバーの鍵マークは、ちゃんと封筒になってますよ〜っていう印なんですねぇ。

星見 めい(普段) 星見 めい

Googleとかでログインボタン押すと別画面に飛ぶやつ、あれもこの話?

蜂谷 まこと(普段) 蜂谷 まこと

それはOAuthです。
パスワードそのものを渡さず『この情報だけ使ってよい』と許可を委ねる、認可のしくみ。
認証(本人確認)とは別物なので注意です。

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

ちなみに、Webで状態を覚えておく道具も押さえてね。
Cookieはブラウザ側に小さなデータを置く方式、セッションはサーバ側で状態を管理するしくみよ。

紫垣 こはる 先生(笑顔) 紫垣 こはる 先生

では仕上げ。
HTTPはWebの通信ルール、HTTPSはそれをTLSで暗号化。
やりとりはリクエストとレスポンスで、メソッドが操作、ステータスコードが結果。
番台で意味を読む癖をつければ得点源よ。

確認クイズ

WebサーバにアクセスしたところHTTPステータスコード「403」が返ってきた。この意味として最も適切なものはどれか。

  1. リクエストは成功し、内容が正常に返された
  2. ログイン認証が済んでいないため認証が必要である
  3. 本人は識別できたが、その操作を行う権限がない
  4. 指定したリソースがサーバ上に見つからない
こたえを見る

正解: 3. 本人は識別できたが、その操作を行う権限がない

403 Forbidden は、相手は識別できているが権限がなくアクセスが拒否された状態を表します。認証そのものが必要な場合は401、リソースが存在しない場合は404、成功は200です。401(誰か不明)と403(権限なし)の違いに注意しましょう。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。