Tanaka on Rails

行動・努力・俯瞰

ステータスコード

ステータスコードとは

そもそもRailsアプリケーションの仕組みは…
①HTTPサーバよりリクエストを受ける、リクエストはparamsで受け取った情報を元とする。
②リクエストをもとにrooterを経てcontrollerで該当のアクションを呼び出す。
③アクションよりmodelを使用しDBからレコードを引き出し、それをアクション内のインスタンス変数などに代入する。
④その情報をviewを元にHTMLを生成。レコードの情報が埋め込まれたHTMLが渡される。
⑤HTTPサーバを通って、HTMLがレスポンスとして送られる。
→すなわちどんな時でも、リクエストがあった時はレスポンスが返ってきて、ステータスコードが表示される!

ステータスコードはサーバーからのレスポンスの結果を表す、3桁の数字コードのこと。

ステータスコードの種類

100番台:情報レスポンス → 処理中の時
200番台:成功レスポンス → 成功した時
300番台:リダイレクションメッセージ → リダイレクトする時
400番台:クライアントエラーレスポンス → クライアント側でエラーが起こった時
500番台:サーバーエラーレスポンス → サーバ側でエラーが起こった時

ステータスコードの構造

プロトコルバージョンやステータスコードを記述した「ステータス行」
レスポンスするデータの情報などを記述した「ヘッダー」
ヘッダーによって定義される「本文」
から成り立つ。

関連するワード

head
headメソッドを使用することで、ヘッダだけで本文のないレスポンスをブラウザに送信できる。headメソッドには、HTTPステータスコードを示す多くのシンボルを引数として指定できる。
例えばcontrollerの条件分岐で失敗した時にhead :bad_requestとするとステータスコード400のヘッダだけのレスポンスが返ってくる。

参考URL

https://railsguides.jp/layouts_and_rendering.html#head%E3%81%A7%E3%83%98%E3%83%83%E3%83%80%E3%81%AE%E3%81%BF%E3%81%AE%E3%83%AC%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B9%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B
https://diveintocode.jp/blogs/Technology/ProcessFlow
https://www.itmanage.co.jp/column/http-www-request-response-statuscode/
https://digitalidentity.co.jp/blog/seo/seo-tech/howto-http-status-code.html
https://qiita.com/unsoluble_sugar/items/b080a16701946fcfce70
https://developer.mozilla.org/ja/docs/Web/HTTP/Status#successful_responses
https://developer.mozilla.org/ja/docs/Web/HTTP/Messages#http_responses
https://qiita.com/Knbass/items/d17910c53ffe64dff6a6