「HTTP」の基本と進化を理解する【中編】
いまさら聞けない「HTTP通信」 “Webページを届ける”仕組みとは
Webサイトにアクセスすると、ブラウザとWebサーバ間では「HTTP」による通信が発生する。ユーザーが目にするページは、裏側で交わされる「リクエスト」と「レスポンス」のやりとりによって成り立っている。
Webサイトにアクセスすると、ブラウザとWebサーバの間では通信プロトコル「HTTP」(Hypertext Transfer Protocol)による情報のやりとりが発生する。ユーザーが目にするWebページは、この背後で交わされている「リクエスト」(要求)と「レスポンス」(応答)のやりとりの結果として表示されているものだ。中編となる今回は、HTTP通信の具体的な流れとして、リクエストとレスポンスの構造と処理の仕組みを見ていく。
HTTPリクエストとHTTPレスポンス
併せて読みたいお薦め記事
連載:「HTTP」の基本と進化を理解する
通信プロトコルとしての「HTTP」の位置付け
クライアントデバイス(以下、クライアント)はサーバにHTTPリクエストを送信し、サーバはHTTPレスポンスをクライアントに送り返す。リクエストにはWebサイトを読み込むためにクライアントがサーバから求めている情報が記述され、レスポンスにはクライアントのWebブラウザがWebページとして表示するためのソースコードが含まれている。
サーバとクライアントでがデータを共有するために使用するこれらのリクエストとレスポンスは、標準的な文字コード「ASCII」コードで構成されている。クライアントとサーバ間のやりとりはメッセージと呼ばれ、HTTPメッセージはリクエストまたはレスポンスのいずれかとなる。
HTTPリクエスト
クライアントからのリクエストは、クライアントへのレスポンスを調整するために必要な情報をサーバに提供する。各HTTPリクエストには、以下のような情報を含むエンコードされたデータが含まれている。
- 使用されているHTTPのバージョン
- 現在利用可能なバージョンは、HTTP、HTTP/2、HTTP/3だ。
- URL
- URLはリソース、つまりWebを介してアクセス可能な特定のWebサイトを指す。
- HTTPメソッド
- HTTPメソッドは、レスポンス時にリクエストがサーバからの応答として期待する特定のアクションを示す。
- HTTPリクエストヘッダ
- HTTPリクエストヘッダには、使用されているブラウザの種類やリクエストがサーバに求めているデータなどの情報が含まれる。リクエストを処理するサーバから以前送信された情報を示すCookieが含まれることもある。
- HTTPボディ
- これはサーバがリクエストから必要とするオプション情報で、Webサイトに送信されるユーザーフォーム(ユーザー名/パスワードのログイン、短いレスポンス、ファイルのアップロードなど)が含まれる。
HTTPレスポンス
HTTPレスポンスメッセージは、クライアントからのHTTPリクエストに対するサーバの応答のことだ。レスポンスに含まれる情報は、サーバがリクエストから受け取った内容に合わせて調整され、以下のデータを含むことがある。
- HTTPステータスコード
- これはクライアントデバイスに対してリクエストのステータスを示す。レスポンスは、成功、情報レスポンス、リダイレクト、サーバ側やクライアント側でのエラーを示すことがある。
- HTTPレスポンスヘッダ
- サーバと要求されたリソースに関する情報を送信する。
- HTTPボディ(オプション)
- リクエストが成功した場合、ボディにはHTMLコードの形で要求されたデータが含まれ、クライアントブラウザによってWebページに変換される。
HTTPステータスコード
HTTPリクエストに対するレスポンスとして、サーバはしばしばレスポンスコードを発行し、リクエストが処理中であること、リクエストにエラーがあること、またはリクエストがリダイレクトされていることを示す。以下に一般的なレスポンスコードをいくつか挙げる。
- 200 OK
- これは最も一般的なレスポンスコードの一つで、GETやPOSTなどのリクエストが成功し、それに基づいて処理されていることを意味する。
- 300 Moved Permanently
- リクエストされたリソースのURLが永続的に変更された。
- 401 Unauthorized
- クライアント(サーバにリクエストを行っているエンドユーザー)が認証されておらず、リクエストされた情報へのアクセスが許可されていない。
- 403 Forbidden
- サーバがアクセスを禁止している。
- 404 Not Found
- 404エラーコードは、URLが間違っているか、その場所にリソースが存在しないことを意味する。
- 500 Internal Server Error
- サーバ内で予期しないエラーが発生し、リクエストを正常に処理できなかった。
次回の後編は、HTTP/3で採用された新しい通信プロトコル「QUIC」や、Webの安全性を高める「HTTPS」、そしてWeb通信を支える「プロキシ」の役割について解説する。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 世界のインサイト&ベストプラクティス
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[サイボウズ株式会社] DXに必要な「Dスキル」「Xスキル」を持った人材を育成するには? -
市場調査・トレンド
[サイボウズ株式会社] データで見る、DXが「順調に進む企業」と「つまずく企業」の違い -
製品資料
[サイボウズ株式会社] 賛否が割れがちな「Notesからの移行」 新環境への移行を納得してもらうには? -
事例
[ServiceNow Japan合同会社] 農林中金に学ぶ内製開発 処理効率を約2倍に高めAI活用も加速させた方法とは? -
事例
[ServiceNow Japan合同会社] NTTグループのデジタル変革術、17万人が利用する決裁プロセス刷新の全貌
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
2
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
3
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
kintoneで実践 製造業のための「見積もり管理」改善のヒント
-
6
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
7
MS月例パッチが1000件突破 人手不足の情シスを襲う「月1回メンテ」の崩壊
-
8
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
9
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
10
DXを阻む「動くだけ」のレガシーシステムに決別するための生成AI活用術
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
7
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
8
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
9
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー