【问题标题】:How should "ought" be interpreted as when encountered within rfc7230?在 rfc7230 中遇到“应该”应该如何解释?
【发布时间】:2019-10-16 18:19:51
【问题描述】:

RFC 7230 (HTTP/1.1 消息语法和路由) 指定“must”、“shall”、“should”和“may”将按照 RFC 2119 中的说明进行解释。但是除了这些需求说明符之外,RFC 7230 似乎还在文档中的 23 个不同位置使用“ought”作为需求说明符。

我最初认为“应该”等同于“应该”,但在某些情况下将其解释为“应该”可能更有意义。我发现的词定义支持这两种用法。

所以我的问题如下:在 rfc7230(及其兄弟姐妹)中遇到“应该”时应该如何解释?

【问题讨论】:

    标签: http


    【解决方案1】:

    来自HTTP persistent connection

    根据 RFC 7230 第 6.4 节,“客户端应该限制它与给定服务器保持的同时打开连接的数量”。以前版本的 HTTP/1.1 规范规定了特定的最大值,但用 RFC 7230 的话来说“这对许多应用程序来说是不切实际的……相反……在打开多个连接时要保守”。

    这里的“应该”有两种含义:以前的“应该”,现在放松为“应该”。也就是说,绝对不是“应该”。

    this answer 中也有人强烈认为“应该”是“应该”,

    请注意这里的弱“应该”,它与 MUST 相去甚远。但至少 net/http 是完全正确的,因为这种响应是错误的,可以作为错误处理。但不要求视为错误。

    What's difference between HTTP 301 and 308 status codes? 中的所有示例中,我认为很明显“应该”意味着“应该”,不是“应该”。

    最后,从简单的词用法的角度来看,“应该”不是一个常见或自然的词选择——没有人会随意使用它——这个词只在作者不能 em> 承诺“应该”。

    所以在这一点上,我想说,如果您确定“应该”应该是“应该”,那么它更有可能是文档中的错误,或者更接近于我的第一个示例在历史上是一个“应该”。

    无论如何,最好向专家具体询问您关心的条款。

    【讨论】:

      猜你喜欢
      • 2020-11-04
      • 2011-05-01
      • 1970-01-01
      • 2017-01-04
      • 2021-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      相关资源
      最近更新 更多