【问题标题】:Does a Content-Type header on a GET request ever cary semantic meaning?GET 请求上的 Content-Type 标头是否具有语义含义?
【发布时间】:2014-10-08 15:13:20
【问题描述】:

所以我卷入了关于 GET 请求中 Content-Type 标头的适当解释的讨论。我计划在对服务的所有 GET 请求中丢弃 Content-Type 标头的值,因为虽然 GET 请求可以包含主体,但 GET 请求的服务器语义受到限制,因此主体没有语义意义到请求。

那么,GET 请求的 Content-Type(可能包含也可能不包含消息体)是否有任何语义含义?

我可以安全地丢弃它吗,还是我忽略了什么?

【问题讨论】:

    标签: rest content-type http-get


    【解决方案1】:

    GET 请求的Content-Type 没有用,通常不会发送。正如您所说,如果没有内容,则指定的类型无关紧要。

    相反,Accept 标头告诉您客户端期望的回报。

    【讨论】:

      【解决方案2】:

      RFC 2616 Section 4.3 状态:

      请求中存在消息体由 包含 Content-Length 或 Transfer-Encoding 标头字段 请求的消息头。 消息正文不得包含在 请求方法的规范(第 5.1.1 节) 不允许在请求中发送实体主体。服务器应该 根据任何请求阅读和转发消息正文;如果请求方法 不包括实体主体的定义语义,则 处理请求时应该忽略消息正文。

      GET 请求没有为消息体定义任何语义,因此消息体及其伴随的Content-Type(如果存在)将被忽略。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-02
        相关资源
        最近更新 更多