テックエイド
Udemy共通クーポン:TA2605LEARN02 詳細を見る
IT基礎

404・500エラーとは?HTTPステータスコードの基本をわかりやすく解説

#HTTP #Web #IT基礎 #非エンジニア向け #FEX
404・500エラーとは?HTTPステータスコードの基本をわかりやすく解説

「404 Not Found」「500 Internal Server Error」。Webを使っているとたまに見かけるこれらのメッセージ、何を意味しているのか説明できますか?

これらはHTTPステータスコードと呼ばれるもので、Webの通信結果を数字で表したものです。非エンジニアでもこの仕組みを知っておくと、問題が起きたときの状況判断に役立ちます。

この記事でわかること

  • HTTPステータスコードとは何か
  • 200・301・404・500など主要なコードの意味
  • ステータスコードがわかると何が嬉しいか
  • IT現場でのステータスコードの活用

HTTPステータスコードとは?

HTTPステータスコードとは、Webサーバーがリクエストの処理結果をブラウザ(クライアント)に伝えるための3桁の数字です。

「リクエストを受け取って正常に処理した」「このページは存在しない」「サーバー側でエラーが起きた」といった状況を、数字で標準化して伝える仕組みです。

ステータスコードの分類

ステータスコードは先頭の数字で大まかに分類されています。

先頭意味代表例
1xx処理中(インフォメーション)100 Continue
2xx成功200 OK
3xxリダイレクト(転送)301 Moved Permanently
4xxクライアント側のエラー404 Not Found
5xxサーバー側のエラー500 Internal Server Error

「4」で始まれば「リクエストした側の問題」、「5」で始まれば「サーバー側の問題」という大まかな判断ができます。

よく見るステータスコードの意味

200 OK

最も基本的な成功コード。「リクエストを受け取り、正常に処理した」という意味です。通常のWebページ閲覧やAPIレスポンスが成功したときに返ります。

301 Moved Permanently

「このURLは別のURLに永久に移動した」という意味です。URL変更やサイト移転時に使います。検索エンジンのインデックスを新URLに引き継ぐ目的でも使われます。

400 Bad Request

「リクエストの形式が正しくない」という意味です。送ったデータが必要な形式を満たしていない場合などに返ります。

401 Unauthorized

「認証が必要」という意味です。ログインしていない状態でアクセス制限のあるページにアクセスしたときなどに返ります。

403 Forbidden

「アクセス権限がない」という意味です。認証はされているが、そのリソースへのアクセス権限がない場合に返ります。

404 Not Found

「リクエストしたURLにコンテンツが存在しない」という意味です。最もよく見るエラーコードの一つです。URLのタイポ、ページが削除された、リンクが古いといった場合に発生します。

500 Internal Server Error

「サーバー内部でエラーが発生した」という意味です。アプリケーションのバグ、サーバーの設定ミスなど、サーバー側の問題で発生します。

503 Service Unavailable

「サービスが一時的に利用できない」という意味です。サーバーのメンテナンス中や、アクセス集中によりサーバーが処理できない場合に返ります。

身近な例で考えると

宅配便の配達に例えてみます。

  • 200 OK:「正常に届けました」
  • 301:「この住所は引っ越しました。新住所に再送します」
  • 404:「この住所は存在しません。届けられませんでした」
  • 500:「配送センター内部でシステムトラブルが起き、処理できませんでした」
  • 503:「現在満杯でお預かりできません。少し後で再試行してください」

IT現場ではどう使われるか

障害調査:システムトラブルが起きたとき、ステータスコードから「どちら側の問題か」を判断します。4xxならリクエスト側の問題、5xxならサーバー側の問題と切り分けられます。

APIの設計:APIが返すステータスコードを設計するのもエンジニアの仕事です。「成功したら200、データが見つからなければ404、認証エラーなら401」といった形で設計します。

SEO(検索エンジン最適化):404が多発するとサイトの品質評価に影響します。301リダイレクトを適切に設定することで、URL変更後もSEO評価を維持できます。

初心者がつまずきやすいポイント

404とサーバーエラーを同列に見てしまう

404はクライアント側の問題(URLが間違い)、500はサーバー側の問題です。責任の所在が違います。システムに問題が起きたときは「どちらのコードか」を確認することが重要です。

400エラーを全部「ネットワークエラー」と思いがち

4xxはネットワーク問題ではなく、リクエスト内容の問題です。送るデータの形式・認証情報の不備などが原因のことが多いです。

ステータスコードがない場合はエラーがないと思う

稀に、エラーが起きているにもかかわらず200を返すよう設計されたAPIもあります(エラーハンドリングが不完全な場合)。ステータスコードだけでなくレスポンスの内容も確認することが大切です。

関連用語

  • レスポンスヘッダー:ステータスコードを含むサーバーからの返答情報
  • リダイレクト:あるURLへのアクセスを別のURLに転送する処理
  • エラーページ:404や500が発生したときにユーザーに表示するページ

さらに学ぶなら

HTTPとWebの仕組みを体系的に学びたい方には、FEXシリーズのWebの仕組み入門講座がおすすめです。

関連する記事