← PC・IT用語集へ戻る

HTTPリクエスト

HTTP Request
network beginner
ブラウザやアプリがサーバーに対して、「このページを見せて」「このデータを送って」などとお願いする通信のこと。
HTTPリクエスト (HTTP Request)

概要(サマリー)

HTTPリクエストとは、ブラウザやアプリがサーバーに対して、「このページを見せて」「このデータを送って」などとお願いする通信のことである。

たとえば、Webサイトを開くとき、ブラウザはサーバーへ「このURLのページをください」とリクエストを送っている。そのお願いを受け取ったサーバーは、HTMLや画像、JSONデータなどを返す。この返事がHTTPレスポンスである。初心者向けには、HTTPリクエストは「お店に注文を出すこと」、HTTPレスポンスは「注文に対して商品や返事が返ってくること」と考えるとわかりやすい。

詳細解説

HTTPリクエストは「サーバーへのお願い」である

WebサイトやWebアプリでは、ユーザーが画面を開いたり、ボタンを押したり、フォームを送信したりするたびに、裏側で通信が行われることがある。

その通信の中で、ブラウザやアプリからサーバーへ送られる「お願い」がHTTPリクエストである。

たとえば、次のようなお願いがある。

  • トップページを表示したい
  • 商品一覧を取得したい
  • ログイン情報を送信したい
  • 問い合わせフォームの内容を送信したい
  • APIからJSONデータを取得したい

つまりHTTPリクエストは、クライアント側からサーバー側へ「これをしてください」と伝えるための通信である。

Client と Server の関係

HTTPリクエストを理解するには、ClientServer の関係を見ると分かりやすい。

  • Client
    リクエストを送る側。ブラウザ、スマホアプリ、フロントエンドなど
  • Server
    リクエストを受け取り、処理して返事をする側

たとえば、ユーザーがブラウザで https://example.com を開いたとする。
このとき、ブラウザがClientとしてサーバーにHTTPリクエストを送る。
サーバーはそのリクエストを受け取り、必要なページデータをHTTPレスポンスとして返す。

このように、Webの基本は「ClientがRequestを送り、ServerがResponseを返す」という流れで成り立っている。

HTTP Response との違い

HTTPリクエストとセットで覚えたいのが HTTP Response である。

  • HTTP Request
    クライアントからサーバーへのお願い
  • HTTP Response
    サーバーからクライアントへの返事

たとえば、飲食店でたとえるなら次のようになる。

  • Request = 「カレーをください」と注文する
  • Response = カレーが出てくる、または「売り切れです」と返事が来る

Webでも同じように、リクエストを送った結果として、サーバーから何らかのレスポンスが返ってくる。
この往復が、Web通信の基本である。

HTTPリクエストには何が含まれるのか

HTTPリクエストは、「どこへアクセスするか」だけでなく、「何をしたいか」「どんな補足情報を送るか」「必要ならどんなデータを送るか」も含む通信である。
代表的には次のようなものがある。

URL

どこへアクセスしたいかを示す情報である。
たとえば /products/contact のようなパスも関係する。

HTTPメソッド

何をしたいかを示す種類である。
代表的には GETPOST などがある。

ヘッダー

ブラウザや認証情報、受け取りたいデータ形式など、補足情報を入れる場所である。

ボディ

フォームの入力内容やJSONデータなど、サーバーへ送る本体データである。
主に POSTPUTPATCH などで使われる。

つまりHTTPリクエストは、「どこへ」「何をしたいか」「必要ならどんなデータを送るか」をまとめた通信である。

GET と POST の違い

HTTPリクエストで特によく出てくるのが、GETPOST である。

GET

GETは、主にデータを取得するときに使う。
たとえば、ページを表示したり、商品一覧を取得したりするときに使われる。

GET /products

これは、「商品一覧をください」というリクエストのイメージである。

POST

POSTは、主にデータを送信するときに使う。
たとえば、フォーム送信、ログイン、注文作成などで使われる。

POST /contact

これは、「お問い合わせ内容を送信します」というリクエストのイメージである。

初心者のうちは、まず「GETは取得、POSTは送信」と覚えると理解しやすい。

そのほかのHTTPメソッド

GETとPOST以外にも、APIでは次のようなHTTPメソッドが使われる。

  • PUT
    データ全体を更新する
  • PATCH
    データの一部を更新する
  • DELETE
    データを削除する

たとえば、ユーザー情報を更新したり、商品を削除したりするAPIでは、こうしたメソッドが使われることがある。

GET    /users/123
PATCH  /users/123
DELETE /users/123

同じURLでも、HTTPメソッドが違うと意味が変わることがある。
そのため、HTTPリクエストを見るときは、URLだけでなくメソッドも一緒に見ることが大切である。

Endpoint との関係

APIの文脈では、HTTPリクエストは Endpoint に対して送られる。

たとえば、次のようなエンドポイントがある。

GET https://api.example.com/products

これは、https://api.example.com/products というエンドポイントに対して、GETリクエストを送っている状態である。

整理すると、次のようになる。

  • Endpoint
    リクエストを送る具体的な入口
  • HTTP Request
    その入口に送るお願い
  • HTTP Response
    そのお願いに対する返事

この関係が分かると、API通信の仕組みがかなり読みやすくなる。

フォーム送信もHTTPリクエストである

問い合わせフォームやログインフォームを送信するときも、裏側ではHTTPリクエストが送られている。

たとえば、問い合わせフォームで次のような内容を入力したとする。

  • 名前
  • メールアドレス
  • 問い合わせ内容

送信ボタンを押すと、ブラウザはその入力内容をサーバーへ送る。
サーバーは内容を受け取り、保存したり、メール送信したり、完了画面を返したりする。

つまり、フォーム送信は「ユーザーが入力したデータをHTTPリクエストとしてサーバーに渡す処理」である。

fetch や API通信でよく出てくる

JavaScriptでAPI通信を行うときも、HTTPリクエストを送っている。

たとえば、次のようなコードがある。

fetch("https://api.example.com/products")
  .then(response => response.json())
  .then(data => {
    console.log(data);
  });

このコードでは、https://api.example.com/products にGETリクエストを送り、返ってきたレスポンスをJSONとして読み取っている。

このように、HTTPリクエストは画面表示だけでなく、JavaScriptからデータを取りに行くときにも使われる。

ブラウザの開発者ツールで確認できる

HTTPリクエストは、ブラウザの開発者ツールで確認できる。
Chromeなどでは、開発者ツールの「Network」タブを見ると、ページ表示時やボタン操作時にどんなリクエストが送られているかを確認できる。

たとえば、次のような情報が見られる。

Webアプリの不具合調査では、このNetworkタブが非常に重要になる。
「ボタンを押したのに反応しない」ときも、実はリクエストが送られていない、リクエストは送られているがエラーが返っている、という切り分けができる。

Status Code との関係

HTTPリクエストを送ると、サーバーはHTTPレスポンスを返す。
そのレスポンスには、処理結果を示す Status Code が含まれる。

代表的な例は次の通りである。

  • 200
    正常に成功
  • 301 / 302
    別のURLへ転送
  • 400
    リクエスト内容が不正
  • 401
    認証が必要
  • 403
    権限がない
  • 404
    見つからない
  • 500
    サーバー側のエラー

つまり、HTTPリクエストは「お願い」であり、ステータスコードは「そのお願いがどう処理されたかを示す結果」である。

AI時代にHTTPリクエストの理解が重要な理由

AIにWebアプリやAPIを作らせると、HTTPリクエストという考え方はかなり頻繁に出てくる。
たとえば、次のような場面で必要になる。

  • フロントエンドからAPIを呼び出す
  • フォーム送信処理を作る
  • ログイン処理を実装する
  • エラーの原因をNetworkタブで調べる
  • サーバー側のEndpointを設計する
  • fetchやaxiosのコードを読む

このとき、HTTPリクエストの意味が分かっていないと、「どこに何を送っているのか」「なぜPOSTなのか」「なぜ404や500が出ているのか」が見えにくい。

逆に、HTTPリクエストを「サーバーへのお願い」と理解しているだけで、AIが書いたコードやエラー調査の説明がかなり読みやすくなる。

セキュリティ上の注意点

HTTPリクエストでは、サーバーへデータを送ることがある。
そのため、セキュリティ面でも注意が必要である。

たとえば、次のような点を確認したい。

  • パスワードや個人情報を安全に送っているか
  • HTTPSで通信しているか
  • 不正な入力をそのまま受け取っていないか
  • 認証が必要なリクエストに認証チェックがあるか
  • 他人のデータを操作できないようにしているか

特にAIが生成したAPIやフォーム処理では、「動くかどうか」だけでなく、「不正なリクエストが来ても安全か」を確認することが重要である。

AIコーディングとの関係

AIにコード生成や修正を依頼するとき、HTTPリクエストの意味を理解していると、出力されたコードやエラー内容を判断しやすくなる。
ブラウザやアプリがサーバーに対して、「このページを見せて」「このデータを送って」などとお願いする通信のこと。

AIへ相談するときは、「何をしたいのか」「どの環境で起きているのか」「どのファイルやエラーを見ているのか」を一緒に伝えるとよい。
用語だけを投げるより、具体的な状況と期待する結果を添えることで、より実用的な回答を得やすくなる。

よくある勘違い

HTTPリクエストは名前だけ覚えれば十分?

名前だけでは不十分である。
実際の開発では、どんな場面で使われ、何と混同しやすいかまで理解しておくと判断しやすい。

HTTPリクエストはAIに任せれば理解しなくてよい?

そうではない。
AIは説明やコードを出せるが、最終的にその内容が正しいか、今の目的に合っているかを確認するのは人間である。

HTTPリクエストは単独で覚えればよい?

単独ではなく、関連する用語や実際の作業の流れと一緒に覚えると理解しやすい。
用語同士のつながりを意識すると、AIへの質問やエラー調査もしやすくなる。

まとめ

  • HTTPリクエストは、ブラウザやアプリがサーバーに対して、「このページを見せて」「このデータを送って」などとお願いする通信のこと。
  • 関連する用語や実際の作業場面と一緒に理解すると、使いどころを判断しやすい。
  • AIコーディングでは、用語の意味を理解しているほど、AIの説明や生成コードを確認しやすくなる。
  • 迷ったときは、エラー内容、目的、前提条件を整理してAIに聞くとよい。

より詳しくAIに聞いてみよう

  • HTTPリクエストとは何かを、中学生でもわかるように具体例つきで説明してください。
  • HTTP Request と HTTP Response の違いを、初心者向けに整理してください。
  • GET と POST と PUT と PATCH と DELETE の違いを、具体例つきで教えてください。
  • ブラウザのNetworkタブでHTTPリクエストを確認する方法を教えてください。
  • AIが書いたAPI通信コードを確認するとき、HTTPリクエストのどこを見るべきか教えてください。