【问题标题】:Rails: HTTP version for responseRails:响应的 HTTP 版本
【发布时间】:2012-01-21 02:50:11
【问题描述】:

如果有人像这样使用 HTTP 1.0 版发布到我的 Rails 应用程序:

POST /update HTTP/1.0

如何发送这样的 HTTP 1.0 版响应:

HTTP/1.0 200 OK

我使用的是 Ruby on Rails 3。Rails 响应似乎总是 HTTP 1.1 版,但如果客户端发送 HTTP 1.0 版的请求,我想使用 HTTP 1.0 版进行响应。

【问题讨论】:

    标签: ruby-on-rails http http-headers


    【解决方案1】:

    如果您希望您的控制器构建仅标题响应,您可以使用head 方法。示例:

    head :bad_request
    

    将产生以下标题:

    HTTP/1.1 400 Bad Request
    Connection: close
    Date: Sun, 24 Jan 2010 12:15:53 GMT
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=utf-8
    X-Runtime: 0.013483
    Set-Cookie: _blog_session=...snip...; path=/; HttpOnly
    Cache-Control: no-cache
    

    More information

    【讨论】:

    • 这对我更改响应的 HTTP 版本没有帮助。
    • 为什么要更改 HTTP 版本?我猜你只是想发送另一个状态码,这正是head 所做的。如果这不是您想要的,请让您的问题更清楚。
    • 我希望响应的 HTTP 版本与请求的版本相同。
    • 我明白了。从来没想过。不知道这样的东西是否内置在 Rails 中。
    • 如果您在 rails 中找不到方法(如果有这样做的用处,那将是令人惊讶的),您可以考虑使用 rack 中间件来修改离开 rails 的响应
    猜你喜欢
    • 1970-01-01
    • 2016-06-01
    • 2013-12-05
    • 2016-11-15
    • 1970-01-01
    • 2015-03-08
    • 1970-01-01
    • 2013-08-03
    • 2010-12-14
    相关资源
    最近更新 更多