3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RCC (立命館コンピュータークラブ)Advent Calendar 2024

Day 8

Ruby on Railsにおけるstatusコードのシンボル集『いつ・なにをつかう?』

Posted at

はじめに

Ruby on RailsではこのようにSymbolを渡すことでHTTPStatusCodeを決めます。
そこで,どういうときにどのシンボルを使い,どのStatusCodeを返すかをまとめました。

render status: :<Symbol>

シンボル集

Response Class HTTP Status Code Symbol Usage
Informational 100 :continue クライアントからの継続的なリクエストに対して、サーバーがリクエストを受け取り、処理を続行することを示す。
101 :switching_protocols クライアントからのプロトコル切り替えリクエストを受け入れたことを示す。
102 :processing リクエストを処理中であり、まだ完了していないことを示す。
Success 200 :ok リクエストが成功し、レスポンスとともに要求されたリソースが返されることを示す。
201 :created リクエストが成功し、新しいリソースが作成されたことを示す。
202 :accepted リクエストは受け付けられたが、まだ処理は完了していないことを示す。
203 :non_authoritative_information リクエストは成功したが、返されたメタ情報が元のサーバーではなく、ローカルまたは第三者のコピーから収集されたことを示す。
204 :no_content リクエストは成功したが、返すべきコンテンツがないことを示す。
205 :reset_content リクエストは成功し、クライアント側でフォームをリセットするように指示する。
206 :partial_content リクエストは成功し、部分的なコンテンツが返されることを示す。
207 :multi_status 複数のリソースが返されることを示す。
208 :already_reported DAVの一部であり、リソースがすでに前のレスポンスで列挙されたことを示す。
226 :im_used サーバーがリクエストを処理し、応答がインスタンス操作の結果であることを示す。
Redirection 300 :multiple_choices リクエストされたリソースが複数の選択肢を持つことを示す。
301 :moved_permanently リクエストされたリソースが永続的に別のURLに移動したことを示す。
302 :found リクエストされたリソースが一時的に別のURLに移動したことを示す。
303 :see_other リクエストされたリソースが別のURLにあることを示す。
304 :not_modified リクエストされたリソースが変更されていないことを示す。
305 :use_proxy リクエストされたリソースはプロキシを介してアクセスする必要があることを示す。
306 :reserved 将来のために予約されている。
307 :temporary_redirect リクエストされたリソースが一時的に別のURLに移動したことを示す。
308 :permanent_redirect リクエストされたリソースが永続的に別のURLに移動したことを示す。
Client Error 400 :bad_request リクエストが不正であることを示す。
401 :unauthorized 認証が必要であることを示す。
402 :payment_required 将来の支払いシステムのために予約されている。
403 :forbidden リクエストが拒否されたことを示す。
404 :not_found リクエストされたリソースが見つからないことを示す。
405 :method_not_allowed リクエストで指定されたHTTPメソッドが許可されていないことを示す。
406 :not_acceptable リクエストされたリソースがリクエストヘッダーで指定された条件に適合しないことを示す。
407 :proxy_authentication_required プロキシ認証が必要であることを示す。
408 :request_timeout リクエストがタイムアウトしたことを示す。
409 :conflict リクエストがリソースの現在の状態と競合することを示す。
410 :gone リクエストされたリソースが永続的に削除されたことを示す。
411 :length_required Content-Lengthヘッダーが必要であることを示す。
412 :precondition_failed リクエストで指定された前提条件がサーバー上で満たされていないことを示す。
413 :request_entity_too_large リクエストエンティティが大きすぎることを示す。
414 :request_uri_too_long リクエストURIが長すぎることを示す。
415 :unsupported_media_type リクエストエンティティのメディアタイプがサーバーでサポートされていないことを示す。
416 :requested_range_not_satisfiable リクエストされた範囲がリソースの範囲外であることを示す。
417 :expectation_failed Expect requestヘッダーで指定された期待値がサーバーで満たすことができないことを示す。
422 :unprocessable_entity リクエストは適切な形式だが、セマンティックエラーが含まれていることを示す。
423 :locked リクエストされたリソースがロックされていることを示す。
424 :failed_dependency 前のリクエストが失敗したため、このリクエストも失敗したことを示す。
426 :upgrade_required クライアントがリクエストをアップグレードする必要があることを示す。
428 :precondition_required リクエストに前提条件が必要であることを示す。
429 :too_many_requests ユーザーがある時間枠内に多くのリクエストを送信したことを示す。
431 :request_header_fields_too_large リクエストヘッダーフィールドが大きすぎることを示す。
Server Error 500 :internal_server_error サーバー内部エラーが発生したことを示す。
501 :not_implemented リクエストされた機能がサーバーで実装されていないことを示す。
502 :bad_gateway ゲートウェイまたはプロキシサーバーがアップストリームサーバーから無効な応答を受け取ったことを示す。
503 :service_unavailable サーバーが一時的に過負荷やメンテナンスのためにリクエストを処理できないことを示す。
504 :gateway_timeout ゲートウェイまたはプロキシサーバーがアップストリームサーバーからの応答を待っている間にタイムアウトしたことを示す。
505 :http_version_not_supported リクエストで使用されたHTTPバージョンがサーバーでサポートされていないことを示す。
506 :variant_also_negotiates 透明なコンテンツネゴシエーションの結果、リソースが内部的にも交渉可能であることを示す。
507 :insufficient_storage WebDAVの一部であり、リクエストを完了するのに十分なストレージがないことを示す。
508 :loop_detected サーバーがリクエストを処理している間に無限ループを検出したことを示す。
510 :not_extended リクエストに対してさらに拡張が必要であることを示す。
511 :network_authentication_required クライアントがネットワークアクセスを得るために認証を必要とすることを示す。

参考
https://blog.toshimaru.net/rails-http-status-symbols/

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?