基本的な部分だけど改めてメモ。
正確な表現と、より分かりやすい表現のバランスが取れないか今後も調べていきたい。
「告白に学ぶ http status code」は本当に素晴らしい内容だと思う。
サーバーから返されるステータスコード
Webサーバーから返される「HTTPレスポンスステータスコード」は、5つの「クラス」に分かれており、
上1桁目の数字を見ることで大体どんな内容かを知る事ができる。
100番台 – 情報レスポンス(Information)
ブラウザ→サーバーへリクエストの処理が継続中。
200番台 – 成功レスポンス(Success)
ブラウザからのリクエストは受け取られ、理解され、受理された。
300番台 – リダイレクト(Redirection)
ブラウザからリクエストされたリソースの代わりに新しいリソースが使用され、リダイレクトを意味するコードが返されます。リクエストを完了させるために、追加的な処理が必要。
▼▼ ここからエラーコード ▼▼
400番台 – クライアントエラー(Client Error)
リクエストに問題や誤りがあった。クライアント側が原因のエラーコード。
よって、ブラウザ側に問題がある。
500番台 – サーバエラー (Server Reeor)
リクエストが受け入れられが、サーバー側のエラーにより処理に失敗した。
よって、サーバ側に問題がある。
主なステータスコードと対策例
301 – Moved Permanently (恒久的に移動)
恒久的にURLが変更された。301、302リダイレクトは共にSEOのページ評価を引き継ぐ。
302 – Found (発見)
要求されたリソースは移動したものの見つかった。302リダイレクトは、メンテナンスなどで一時的に公開URLを変更する場合に利用し、最終的にはURLの変更を元に戻すか301リダイレクトにする必要がある。
304 – Not Modified (未更新)
要求されたリソースをブラウザ内のキャッシュを利用して表示した。最後に取得した時点から変更されていないことを示すために使用される。サーバー側は「リクエストされたリソースは更新されていない」と判断している。
401 – Unauthorized (不許可・未認証)
リクエストを得るために認証が必要。Basic認証に失敗した際などに表示される。
閲覧者側の対策例
・Basic認証の「ユーザー名」「パスワード」を正しく入力する。
・ブラウザキャッシュをクリアする。(Chromeの場合「Cookieと他のサイトデータ」「キャッシュされた画像とファイル」)
403 – Forbidden (拒否)
サーバーがリクエストを正常に理解したが、リクエストをした人にアクセス権がないため拒否された。パーミッション権限が理由での拒否のほか、パスワード保護されたコンテンツにアクセスした場合に表示される。
404 – Not Found (未検出)
リクエストされたページを発見できない。そこにはいない。サーバーは、認証されていないクライアントからリソースの存在を隠すため 403 の代わりにこのレスポンスを返すことがある。
閲覧者側の対策例
該当ページは既に存在しないので諦める。もしくはURLが変更されていないか確認する。
500 – Internal Server Error (サーバー内部エラー)
プログラム自体へのアクセスは行えているが、サーバーで予期しないことが発生したためエラーになった。そのため、要求(処理)を完了できない。プログラムの文法エラーや、エラーが原因でデータベースへの接続が切断されているなど、具体的なエラーが明確ではなく複数の原因が考えられる。
502 – Bad Gateway (不正なゲートウェイ)
サーバーやルーターなどのゲートウェイが不正なリクエストを受信し拒否した。ブラウザキャッシュや端末側の問題の可能性もある。
閲覧者側の対策例
ブラウザの完全なキャッシュクリアを行う。
503 – Service Unavailable (サービス利用不可)
サーバーが現在、リクエストを処理できない。アクセスが集中した結果サイトに繋がらないなど。502エラーと503エラーは同じ理由で発生している場合がある。
閲覧者側の対策例
少し待ってからアクセスする。
503エラー 開発者・管理者側の対策例
・サーバー負荷チェック
・サーバー転送量を上げる
・サーバーの負荷を無理に上げてしまうプログラムがないか確認する
・サーバー管理者へ連絡する
500番台エラー 開発者・管理者側の対策例
・プログラムに問題がないかチェック
・.htaccessに記述ミスはないかチェック
・パーミッション設定にミスはないかチェック
【参考】
HTTP レスポンスステータスコード – HTTP | MDN
https://developer.mozilla.org/ja/docs/Web/HTTP/Status
HTTPステータスコード一覧と詳細ガイド
https://kinsta.com/jp/blog/http-status-codes/
20171005 告白に学ぶ http status code | slideshare
https://www.slideshare.net/shinichitakahashi790/20171005-http-status-code