こちらの記事ではステータスコード4xxについて解説を行います。ステータスコード4xxはクライアント(ユーザー)側のリクエストに不備がある事を表します。
例えば存在しないページにアクセスしようとするなど、クライアント側の問題でページを表示できないケースが該当します。
httpステータスコードについての解説ははこちらの記事をご覧ください。
https://envader.plus/article/29
主要なステータスコード
- 401 Authorization Required
- 403 Forbidden
- 404 Not Found
401 Authorization Required
401 Authorization Requiredとはwebサイトへログインを行う際にIDやパスワードを間違っており、認証に失敗した場合やそのサイトへのアクセス権限がない場合に返されるステータスコードです。
原因として多いのがIDやパスワードの打ち間違えによる認証失敗ですが、今までログイン出来ていたのに、突然ログイン出来なくなった場合はWebサイトやファイル側に問題があることが多いです。また、その他の理由としては第三者による不正アクセスによってパスワードが変更されてしまった場合などがあります。
401 Authorization Requiredが発生した場合は入力したIDやパスワードのログイン情報に誤りがないかを確認し、その後不正アクセスの痕跡がないかをチェックしてみましょう。それでも解決しない場合は、Webサイト側の問題の可能性もあるので時間をおいてアクセスしてみるのも有効な対処法となります。
403 Forbidden
403 Forbiddenとは何らかの理由によりWebサイトが閲覧出来ない、または閲覧が禁止された場合に返されるステータスコードです。
原因としては社内ネットワークでしか閲覧出来ないサイトへ別ネットワークからアクセスを行った場合や、一時的なアクセス集中によるサーバーダウンを防ぐ為に403 Forbiddenを表示しアクセスを制限している場合があります。この403 Forbiddenに関してはWebサイトのドメインやDNS、サーバー側の問題が原因となる為、これらにアクセス可能なサイト運営者しか解決が行えません。
404 Not Found
404 Not Foundは存在しないページへアクセスしようとした時に返されるステータスコードです。
原因としてはWebページが削除されていたりURL入力時のスペルミス、サイト移転時の移転先へのリダイレクト設定が行われていない場合などがあります。もしWebサイト接続時に404 Not Foundが表示された場合はURLが正しく入力されているか確認しましょう。
ソフト404について
ステータスコード404にはソフト404というエラーも存在します。このソフト404とは、コンテンツが削除されているURLにもかかわらず、ステータスコードは200を返すURLのことを指します。ソフト404が発生する原因はGoogleの誤判定や、コンテンツの質や量に問題がある場合です。
その中でも特に多い原因として、そもそも404設定がされていないという事があります。サイト管理者は対応を行わないと、ステータスコードを基にページを回遊するクローラーを混乱させる事にも繋がってしまいます。
ステータスコード4xx一覧表
次がステータスコードの一覧です。ステータスコード4xxはその他のクラスと比べて、数多くのコードが存在しています。
コード番号 | 意味 | 説明 |
---|---|---|
400 | Bad Request | 構文が無効であるためサーバーがリクエストを理解できないことを表します。 |
401 | Authorization Required | リクエストされたリソースにはユーザー認証が必要なことを表します。 |
402 | Payment Required | デジタル決済システムで使用するために作成されましたが使用されず、コードは将来のため予約されています。 |
403 | Forbidden | クライアントにアクセス権がないことを表します。 |
404 | Not Found | サーバーがリクエストされたリソースを発見できない場合や、アクセス権がない場合などにも使用されます。 |
405 | Method Not Allowed | サーバーがリクエストメソッドを理解しているものの、使用が許可されていないことを表します。 |
406 | Not Acceptable | 要求されたリソースが受理出来ないことを表します。 |
407 | Proxy Authentication Required | プロキシの認証が必要です。 |
408 | Request Timeout | サーバーがリクエスト待機中にタイムアウトになったことを表します。 |
409 | Conflict | リクエストが現在のリソースと競合する場合に返されます。 |
410 | Gone | リクエストされたリソースが恒久的に移動、または消滅し転送先も分からないことを表します。 |
411 | Length Required | Content-Lengthが定義されていないため、サーバーがリクエストを拒否した場合に返されます。 |
412 | Precondition Failed | サーバー側で適合しない前提条件がクライアント側のヘッダーに含まれている場合に返されます。 |
413 | Payload Too Large(Request Entity Too Large) | リクエスト内容がサーバーの許容範囲を超えていることを表します。 |
414 | Request-URI Too Large | クライアントがリクエストしたURLがサーバーの処理可能範囲を超えていることを表します。 |
415 | Unsupported Media Type | リクエストしたメディアタイプにサーバーが対応していない場合に返されます。 |
416 | Range Not Satisfiable | リクエストが実リソースのサイズを超える要求の場合に返されます。 |
417 | Expectation Failed | サーバーがリクエストのExpectヘッダーフィールドで指定された要件を満たすことができないことを表します。 |
418 | I’m a teapot | 1998年4月1日に発行されたエイプリルフールのジョークRFCで定義されたコード 「コーヒーを淹れるためのコーヒーポットで紅茶は淹れられないよ!」という意味 |
421 | Misdirected Request | レスポンスを生成出来ないサーバーにリクエストを送った際に返されます。 |
422 | Unprocessable Content | リクエストにエラーが含まれており、サーバーがそれを処理できない時に返されます。 |
423 | Locked | リクエストしたリソースがロックされていることを表します。(WebDAVの拡張ステータスコード) |
424 | Failed Dependency | 依存関係で失敗したことを表します。WebDAVの拡張ステータスコード) |
425 | Too Early | リプレイ攻撃が可能な方法で送信されたリクエストのため、サーバーが処理を拒絶した場合に返されます。 |
426 | Upgrade Required | 現在のプロトコルから新しいバージョンのプロトコルへアップグレードを要求している場合に返されます。 |
428 | Precondition Required | 条件付きリクエストでなければならないことを表します。 |
429 | Too Many Requests | 短時間に大量のリクエストを送信したため、サーバーが処理を拒否したことを表します。 |
431 | Request Header Fields Too Large | リクエストヘッダーフィールドのデータ量が多いため、サーバーが処理を拒否したことを表します。 |
451 | Unavailable For Legal Reasons | 政府に検閲されたウェブページなど、違法なリソースをユーザがリクエストした場合に返されます。 |
まとめ
今回はHTTPステータスコード400番台の意味について解説をしました。主にクライアント側に原因があるということを学びました。
主要なステータスコードの意味は次のとおりです。
- 401 Authorization Requiredはログイン認証が行えなかった場合やアクセス権限がない事
- 403 Forbiddenはアクセスが許可されていない環境からのアクセスやサーバーダウンを防ぐ為に一時的にアクセス制限されている事
- 404 Not Foundは存在しないページへアクセスしたり移転したサイトが移転先へリダイレクト処理されていない事
400番台は多くのコードが存在するため全てを覚えるのは大変ですが、目にする機会の多いクラスです。400番台のエラーはクライアント側のリクエストに問題がある事が多いので、エラー発生時は一覧表を参考に原因を探ってみましょう。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2023.03.31
デザイン制作を効率化 Webデザインツール「Figma」とは?
Figmaとはブラウザ上で動作するデザインツールで、UIデザインやプロトタイプの制作、共同編集などを行うことができます。
- WEB
2023.02.13
【SEO対策】メタタグとは?SEOに重要なタグの種類や使い方について解説
メタタグ(meta情報)とは検索エンジンやブラウザに対して、Webページの情報を伝えるためのHTMLタグを指します。
- SEO
- WEB
2023.08.31
【徹底解説】ステータスコード3xxについて詳しく
こちらの記事では、HTTPステータスコード300系について解説します。
- WEB