【问题标题】:POST vs post, GET vs get发布与发布,获取与获取
【发布时间】:2011-05-05 15:03:02
【问题描述】:

我知道两者都可以,但是一个比另一个更正确吗?

<form method="POST" />

对比

<form method="post" />

为什么要使用其中一个?

【问题讨论】:

  • W3C 将这些“枚举属性”称为“枚举属性”,并建议名称和值都使用小写。
  • stackoverflow.com/a/45834938/498634 是参考当今标准的更新答案。

标签: html forms tags capslock


【解决方案1】:

一段时间以来,W3C 倾向于小写属性名称和值。

例如2002年xhtml 1.0 standard的第4.11节:

4.11。具有预定义值集的属性

HTML 4 和 XHTML 都有一些 具有预定义的属性和 有限的值集(例如类型 输入元素的属性)。在 SGML 和 XML,这些被称为 枚举属性。在 HTML 4 下, 这些值的解释是 不区分大小写,因此值为 TEXT 相当于 text 的值。 在 XML 下,对这些的解释 values 区分大小写,并且在 XHTML 中 1 所有这些值都定义在 小写。

【讨论】:

    【解决方案2】:

    You can use either of them 为什么因为 HTML 不是区分大小写的标记语言。

    See HTML 4.01 Specification

    该值不区分大小写(即,用户代理 将“a”和“A”解释为相同)。


    注意XHTML 应该是小写的。

    4.2。元素和属性名称必须小写

    XHTML 文档必须使用小写 对于所有 HTML 元素和属性 名字。这种差异是必要的 因为 XML 区分大小写,例如 &lt;li&gt;&lt;LI&gt; 是不同的标签。

    【讨论】:

    • 值得注意的是XHTML(注意X)区分大小写的——标签和属性名都应该是小写的。也就是说,我不知道对明确定义的属性 values 的大小写限制。
    • 这不是文档类型的问题吗?因为 XML 需要小写。
    • @RobM:你提到了 XHTML 标准很好,虽然这里我指的是 HTML 4.01 规范:w3.org/TR/html4/interact/forms.html#adef-method。不过更新答案:)
    • @Sarfraz 查看 amelvin 的回答。属性值(不是名称!)应仅用于预定义值的小写字母。你不能说拥有id="MYID" 不是有效的XHTML。
    • &lt;img src="avatar.png" alt="Comment by David Dorward"&gt; — 我不想看到专有名词变成小写! 这些值这句话很重要,它将规则限制为枚举属性(而不是所有属性)。
    【解决方案3】:

    Either way is fine 用于 HTML。没有具体的建议。

    可能的(不区分大小写)值为 “get”(默认)和“post”。

    大写和小写都有参数。可以说 HTML 标记的默认值(XHTML 的强制标记)是以小写形式编写的,但是说 HTTP 请求中使用的值是大写的值同样有效。

    【讨论】:

      【解决方案4】:

      两者都可以。它不区分大小写。 w3schools 暗示 w3c 建议 HTML 使用小写:http://www.w3schools.com/html/html_attributes.asp

      这是 w3c XHTML 对属性的小写要求:http://www.w3.org/TR/xhtml1/#h-4.2

      【讨论】:

      • w3schools 与 w3c 没有任何关系!
      • 呃。我希望 W3Schools 能麻烦地链接到该建议,因为我在任何地方都找不到它。一般来说,避免 W3Schools。它们极易出错。
      • @Alin — 我通常会自己大喊大叫,但引用的页面指出 W3C 提出了该建议(尽管它没有说明他们在哪里做)。答案可以用更好的措辞来避免暗示。
      • 好吧,正如您从我的答案和其他人的答案中发布的链接中看到的那样,w3c 说两者都一样好,如果您查看有关表单的章节,您会看到两种表单都使用了。
      • 不,您发布的链接显示 W3Schools 声称 W3C 说它们都是平等的。由于 W3Schools 是不可信的,这不是很有帮助。
      【解决方案5】:

      与大多数编码约定一样,一致性是关键。选择您最熟悉的外壳,并确保在整个代码中使用它。

      【讨论】:

      • 如果我像这样做标记,我会选择“混合大小写”:)
      • @RoBeRtPiTt:那么你最好继续这样做!
      【解决方案6】:

      来自HTML 4.01 Recommendation

      此属性指定将使用哪种 HTTP 方法来提交表单数据集。可能的(不区分大小写) 值为“get”(默认)和“post”。

      XHTML 不同,其中的属性值区分大小写,必须小写

      在 HTML 4 中,这些值的解释是不区分大小写的,因此 TEXT 的值等同于文本的值。在 XML 中,这些值的解释是区分大小写的,而在 XHTML 1 中,所有这些值都以小写形式定义。

      以上内容来自XHTML 1.0(向@amelvin 致敬,因为他发现了我认为是另一种未记录更改的情况)。

      【讨论】:

      • 感谢您的提示 - 知道这些属性值可以称为“枚举属性”很有趣(如果回顾起来很明显)。
      猜你喜欢
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      • 2020-09-14
      • 2022-10-20
      • 2015-09-16
      相关资源
      最近更新 更多