HTTPとは何か?Webはどんなルールで通信しているのかを初心者向けに解説

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

はじめに

Webエンジニアを目指していると、
必ず出てくるのが HTTP です。

  • ブラウザとサーバーの通信
  • APIの通信
  • Laravelでのリクエスト・レスポンス

でも、

「HTTPって何?」
「ただのURLの話?」

と、曖昧なまま進んでしまう人が多いです。

この記事では、

  • HTTPとは何か
  • Webはどんなルールで通信しているのか
  • Webエンジニアはどこまで理解すればいいのか

を、初心者向けに順番で解説します。

HTTPとは何か?

HTTPとは一言でいうと、

Webで通信するためのルール(約束事)

です。

正式には
HyperText Transfer Protocol
と呼ばれます。

なぜHTTPが必要なのか?

コンピュータ同士が通信するとき、

  • どういう形式で
  • どういう順番で
  • どう返事をするか

が決まっていないと、
正しくやり取りできません。

HTTPは、

「この形式で通信しましょう」

という
Web専用の共通ルールです。

HTTPはどこで使われている?

HTTPは
Webのあらゆる場面で使われています。

  • Webサイトの表示
  • フォーム送信
  • API通信
  • JSONデータの取得

👉
WebアプリはHTTPなしでは動きません。

HTTP通信の基本構造

HTTP通信は
常にこの形です。

クライアント → リクエスト
サーバー     → レスポンス

リクエストとは?

リクエストは、

「これをしてください」というお願い

です。

リクエストには
次のような情報が含まれます。

  • URL
  • HTTPメソッド
  • ヘッダー
  • ボディ(必要な場合)

レスポンスとは?

レスポンスは、

「処理結果の返事」

です。

レスポンスには、

  • ステータスコード
  • ヘッダー
  • ボディ(HTMLやJSON)

が含まれます。

HTTPメソッドとは?

HTTPメソッドは、

「何をしたいか」を表す種類

です。

よく使うものは以下です。

GET

  • データを取得する
  • ページ表示

POST

  • データを送信する
  • フォーム送信

PUT / PATCH

  • データを更新する

DELETE

  • データを削除する

LaravelやAPIでは
必ず使います。

ステータスコードとは?

ステータスコードは、

処理結果を表す番号

です。

よく見るもの👇

  • 200:成功
  • 301 / 302:リダイレクト
  • 400:リクエストエラー
  • 401 / 403:認証・権限エラー
  • 404:ページがない
  • 500:サーバーエラー

エラー調査では
真っ先に確認する情報です。

HTTPは「ステートレス」

HTTPには
重要な特徴があります。

HTTPはステートレス

つまり、

  • 前回の通信を覚えていない
  • 毎回独立した通信

という性質です。


ステートレスだと困ること

このままだと、

  • ログイン状態が維持できない
  • カート情報が消える

といった問題が起きます。

CookieとSessionの存在

そこで使われるのが、

  • Cookie
  • Session

です。

これらは
HTTPの弱点を補う仕組みです。

👉
詳細は
別記事で解説します。

HTTPとAPIの関係

API通信も
HTTPのルールを使っています。

違いは、

  • 画面(HTML)を返すか
  • データ(JSON)を返すか

だけです。

Webエンジニアはどこまで理解すればいい?

結論です。

以下が説明できれば十分です。

  • HTTPは通信ルール
  • リクエストとレスポンス
  • メソッドとステータスコード
  • ステートレスという性質

これが分かると、
LaravelやAPIが一気に理解しやすくなります。

HTTPが分かると何が楽になる?

  • エラーの原因が分かる
  • API仕様書が読める
  • フレームワークの動きが理解できる

👉
「黒魔術」に見えていたものが消えます。

次に学ぶべきこと

HTTPが分かったら、
次は必ずこれです👇

👉 HTTPSとは何か?
HTTPとの違いと暗号化の仕組みを解説

まとめ

  • HTTPはWeb通信のルール
  • Webアプリの土台
  • メソッドとステータスコードが重要
  • ステートレスが特徴

この記事は
ネットワーク基礎の山場です。

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次