Rails HTTP Status Code to Symbol Mapping

Sometimes you might need to set the HTTP response head with different status to specify the different handled results. You can do this in Rails by add a :status to a rails method such as #respond_with. Here list all the maps:

1xx Informational

100 Continue                          :continue
101 Switching Protocols               :switching_protocols
102 Processing                        :processing

2xx Success

200 OK                                :ok
201 Created                           :created
202 Accepted                          :accepted
203 Non-Authoritative Information     :non_authoritative_information
204 No Content                        :no_content
205 Reset Content                     :reset_content
206 Partial Content                   :partial_content
207 Multi-Status                      :multi_status
226 IM Used                           :im_used

3xx Redirection

300 Multiple Choices                  :multiple_choices
301 Moved Permanently                 :moved_permanently
302 Found                             :found
303 See Other                         :see_other
304 Not Modified                      :not_modified
305 Use Proxy                         :use_proxy
307 Temporary Redirect                :temporary_redirect

4xx Client Error
400 Bad Request                       :bad_request
401 Unauthorized                      :unauthorized
402 Payment Required                  :payment_required
403 Forbidden                         :forbidden
404 Not Found                         :not_found
405 Method Not Allowed                :method_not_allowed
406 Not Acceptable                    :not_acceptable
407 Proxy Authentication Required     :proxy_authentication_required
408 Request Timeout                   :request_timeout
409 Conflict                          :conflict
410 Gone                              :gone
411 Length Required                   :length_required
412 Precondition Failed               :precondition_failed
413 Request Entity Too Large          :request_entity_too_large
414 Request-URI Too Long              :request_uri_too_long
415 Unsupported Media Type            :unsupported_media_type
416 Requested Range Not Satisfiable   :requested_range_not_satisfiable
417 Expectation Failed                :expectation_failed
422 Unprocessable Entity              :unprocessable_entity
423 Locked                            :locked
424 Failed Dependency                 :failed_dependency
426 Upgrade Required                  :upgrade_required

5xx Server Error

500 Internal Server Error             :internal_server_error
501 Not Implemented                   :not_implemented
502 Bad Gateway                       :bad_gateway
503 Service Unavailable               :service_unavailable
504 Gateway Timeout                   :gateway_timeout
505 HTTP Version Not Supported        :http_version_not_supported
507 Insufficient Storage              :insufficient_storage
510 Not Extended                      :not_extended

Addtionally, you can view all these on your local machine by installing the gem cheat, and see all status codes using command cheat status_codes.

All these informations come from internet, the codes file comes from ktkaushik’s gist and other information comes from Cody Fauser’s post

    原文作者:Martin91
    原文地址: https://segmentfault.com/a/1190000000758464
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞