Masayan tech blog.

  1. ブログ記事一覧>
  2. 基本的なHTTPエラーの原因と対応策

基本的なHTTPエラーの原因と対応策

公開日

基本的なフロー

  • クライアント側のエラーとサーバー側のエラーに大別される
  • 最も基本的なエラーのみ挙げています。(細かくわけるともっとあります・・・)

最低限のHTTPエラーを理解しておくことで、自分自身がプログラムを行う際(特に外部APIを使用する)のエラーハンドリングがしやすくなります

クライアントエラー

  • 400番台
  • クライアントから送信されたリクエストに起因する

400 Bad Requestは厳密には、サーバー側の問題が原因で発生することもあります。 サーバーの一般的な異常や不具合などが主な原因です

エラーコード

原因

対応策

400 Bad Request

400番台のどのエラーにも当てはまらない場合に生じる可能性があるため、原因が特定しにくい

  • URLのスペルミス
  • URLのエンコードが正しくない
  • サーバーが処理できない文字を含むURL
  • ブラウザークッキーの有効期限切れ(認証セッション切れ)
  • ローカルに保存されたDNSキャッシュが一致していない
  • サーバーへのアップロードリクエストのサイズ上限を超えた場合(サーバーのファイルサイズ制限による)

URLが正しいか見直し

ブラウザのキャッシュ・Cookieを削除サーバー側の問題であるかどうかを切り分けるために、別のブラウザーでウェブサイトを読み込んだり、別のマシンで試したりする

401 Unauthorized

  • クライアントにアクセス権がない
  • ログインが必要なサイト等で認証に失敗した場合
  • Basic認証の認証情報が誤っている

正しい認証情報を入力する

403 Forbidden

  • クライアントにリクエスト先のアクセスが禁止されている
  • サーバー内のファイルへの権限設定ミス(意図的な場合もある)

権限設定の見直し、サイト管理者から権限をもらう

404 Not Found

クライアントがリクエストしたページが存在しない場合や、削除したページやリンク切れページ等の場合に表示される

URLに誤りがないかを見直す

408 Request Timeout

サーバーが混雑している場合等で、リクエストが時間内に完了しなかった場合に表示される

少し時間をおいてからアクセスし直す

サーバーエラー

  • 500番台
  • サーバー内部のエラーに起因する

エラーコード

原因

対応策

500 Internal Server Error

  • サーバー上で実行されるプログラムのミス
  • そのほかサーバー設定ミス等
    • .htaccessの記述に誤り
    • パーミッションに誤り

サイト運営者へ連絡。管理者は設定を見直す

502 Bad Gateway

  • ゲートウェイ・プロキシサーバーが不正なリクエストを受け取った際に表示される
  • DNSサーバーの設定が誤っていることによる名前解決の失敗
  • サーバーが高負荷状態のため

管理者は設定を見直す

閲覧者は、しばらく時間をおいてページをリロードする

503 Service Unavailable

一時的にサーバーにアクセスが集中して、リクエストを処理できない場合に表示される

少し時間をおいてからアクセスし直す

504 Gateway Timeout

  • サーバー同士の通信が必要となる場合に発生する可能性がある
  • ホストサーバーから他のサーバーからの応答を長く待ち続け、タイムアウトしたことを示す
  • 他のサーバーは他のサーバーは必ずしも外部である必要はなく、プロキシサーバーやDBサーバーなど
  • 502と似ている

少し時間をおいてからアクセスし直す

モデムやルーターなどのネットワーク機器を再起動する

プロキシ、DNSの設定を見直す

まとめ

いかがでしたでしょうか。本記事では、最低限押さえておきたい基本的なHTTPエラーの原因と対応策について紹介しています。WEB開発を行う上でHTTPエラーの理解・区別は必須級になりますのでぜひ参考にしてみてください