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

基本的なフロー

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

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

クライアントエラー

  • 400番台
  • クライアントから送信されたリクエストに起因する
400 Bad Requestは厳密には、サーバー側の問題が原因で発生することもあります。 サーバーの一般的な異常や不具合などが主な原因です
エラーコード原因 対応策
400 Bad Request400番台のどのエラーにも当てはまらない場合に生じる可能性があるため、原因が特定しにくい

  • 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の設定を見直す

Web技術学習におすすめの書籍

タイトルとURLをコピーしました