Programming Tutorials

(追記) (追記ここまで)

header() in Ruby

By: Jeeva in Ruby Tutorials on 2009年03月03日 [フレーム]

header(options = "text/html")

Create an HTTP header block as a string.

Includes the empty line that ends the header block.

options can be a string specifying the Content-Type (defaults to text/html), or a hash of header key/value pairs. The following header keys are recognized:

type: the Content-Type header. Defaults to "text/html"
charset: the charset of the body, appended to the Content-Type header.
nph: a boolean value. If true, prepend protocol string and status code, and date; and sets default values for "server" and "connection" if not explicitly set.
status: the HTTP status code, returned as the Status header. See the list of available status codes below.
server: the server software, returned as the Server header.
connection: the connection type, returned as the Connection header (for instance, "close".
length: the length of the content that will be sent, returned as the Content-Length header.
language: the language of the content, returned as the Content-Language header.
expires: the time on which the current content expires, as a Time object, returned as the Expires header.
cookie: a cookie or cookies, returned as one or more Set-Cookie headers. The value can be the literal string of the cookie; a CGI::Cookie object; an Array of literal cookie strings or Cookie objects; or a hash all of whose values are literal cookie strings or Cookie objects. These cookies are in addition to the cookies held in the @output_cookies field.

Other header lines can also be set; they are appended as key: value.

 header
 # Content-Type: text/html
 header("text/plain")
 # Content-Type: text/plain
 header("nph" => true,
 "status" => "OK", # == "200 OK"
 # "status" => "200 GOOD",
 "server" => ENV['SERVER_SOFTWARE'],
 "connection" => "close",
 "type" => "text/html",
 "charset" => "iso-2022-jp",
 # Content-Type: text/html; charset=iso-2022-jp
 "length" => 103,
 "language" => "ja",
 "expires" => Time.now + 30,
 "cookie" => [cookie1, cookie2],
 "my_header1" => "my_value"
 "my_header2" => "my_value")

The status codes are:

 "OK" --> "200 OK"
 "PARTIAL_CONTENT" --> "206 Partial Content"
 "MULTIPLE_CHOICES" --> "300 Multiple Choices"
 "MOVED" --> "301 Moved Permanently"
 "REDIRECT" --> "302 Found"
 "NOT_MODIFIED" --> "304 Not Modified"
 "BAD_REQUEST" --> "400 Bad Request"
 "AUTH_REQUIRED" --> "401 Authorization Required"
 "FORBIDDEN" --> "403 Forbidden"
 "NOT_FOUND" --> "404 Not Found"
 "METHOD_NOT_ALLOWED" --> "405 Method Not Allowed"
 "NOT_ACCEPTABLE" --> "406 Not Acceptable"
 "LENGTH_REQUIRED" --> "411 Length Required"
 "PRECONDITION_FAILED" --> "412 Precondition Failed"
 "SERVER_ERROR" --> "500 Internal Server Error"
 "NOT_IMPLEMENTED" --> "501 Method Not Implemented"
 "BAD_GATEWAY" --> "502 Bad Gateway"
 "VARIANT_ALSO_VARIES" --> "506 Variant Also Negotiates"

This method does not perform charset conversion.




(追記) (追記ここまで)


Add Comment

JavaScript must be enabled for certain features to work
* Required information
1000

Comments

No comments yet. Be the first!
(追記) (追記ここまで)
(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /