2010-11-05 4 views
35

Я понимаю, что оба будут работать, но являются ли еще правильными, чем другие?POST vs post, GET vs get

<form method="POST" /> 

против

<form method="post" /> 

Зачем использовать один или другой?

+8

W3C называет эти «перечисляемые атрибуты» и рекомендует строчные буквы для имени и значения. – amelvin

ответ

32

В течение некоторого времени W3C имеет тенденцию к нижнему регистру для имен атрибутов и значений.

Например разделе 4.11 xhtml 1.0 standard в 2002 году:

4,11. Атрибуты с заранее определенными наборами значений

HTML 4 и XHTML оба имеют некоторые атрибуты, которые имеют предварительно определенные и ограниченные наборы значений (например, атрибут элемента ввода типа ). В SGML и XML они называются нулевыми атрибутами . В HTML 4, интерпретация этих значений была без учета регистра, поэтому значение TEXT эквивалентно значению текста. В XML интерпретация этих значений чувствительна к регистру, а в XHTML 1 все эти значения определены в нижнем регистре .

4

Либо хорошо. Это не чувствительно к регистру. w3schools подразумевает w3c рекомендует нижний регистр для HTML: http://www.w3schools.com/html/html_attributes.asp

Вот w3c XHTML требование строчных атрибутов: http://www.w3.org/TR/xhtml1/#h-4.2

+4

w3schools никоим образом не связаны с w3c! –

+2

Eugh. Я хочу, чтобы W3Schools потрудились связать эту рекомендацию, потому что я не могу ее найти нигде. В общем, избегайте W3Schools. Они очень подвержены ошибкам. – Quentin

+0

@Alin - Я бы обычно сам это кричал, но на цитируемой странице указано, что W3C делает эту рекомендацию (хотя в ней не говорится, где они). Ответ может быть лучше сформулирован, чтобы избежать последствий. – Quentin

8

Either way is fine для HTML. Специальных рекомендаций нет.

Возможные (без учета регистра) значения: «get» (по умолчанию) и «post».

Есть аргументы как для прописных, так и для нижних регистров. Можно сказать, что значение по умолчанию для токенов HTML (и обязательных для XHTML) заключается в том, чтобы записывать их в нижнем регистре, но говоря, что значения, используемые в HTTP-запросах, являются заглавными.

13

You can use either of them Почему, поскольку HTML не относится к регистру разметки с учетом регистра.

See HTML 4.01 Specification

The value is case-insensitive (i.e., user agents interpret "a" and 

"А", как то же самое).


Обратите внимание, что XHTML должны быть в нижнем регистре.

4.2. Имена элементов и атрибутов должны быть в нижнем регистре

Документы XHTML должны использовать строчные буквы для всех элементов HTML и атрибутов . Эта разница необходима , потому что XML чувствителен к регистру, например. <li> и <LI> - разные теги.

+2

Стоит отметить, что XHTML (обратите внимание на X) * является * чувствительным к регистру - теги и имена атрибутов должны быть в нижнем регистре. Тем не менее, я не знаю ограничений case для четко определенных значений атрибута *. – RobM

+0

Разве это не до doctype? потому что XML требует нижнего регистра. – RobertPitt

+0

@RobM: Хорошо, что вы упомянули стандарт XHTML, хотя здесь я имел в виду спецификацию HTML 4.01: http://www.w3.org/TR/html4/interact/forms.html#adef-method. Обновите ответ, хотя :) – Sarfraz

2

Как и в большинстве конвенций кодирования, согласованность является ключевой. Выберите корпус, который вам больше всего нравится, и обязательно используйте его во всем коде.

+0

WhAt If I DoNe My MaRkUp LiKe ThIs, я выбираю «Смешанный случай» :) – RobertPitt

+2

@RoBeRtPiTt: ПОТОМУ ЧТОБЫ УБЕДИТЕСЬ, ЧТОБЫ УБЕДИТЕСЬ, –

2

HTML 4.01 Recommendation От:

Этот атрибут определяет, какой метод HTTP будет использоваться для отправки набора данных формы. Возможные значения (без учета регистра) значения «get» (по умолчанию) и «post».

XHTML отличается, а значения атрибутов там являются чувствительны к регистру и должны быть нижним регистром.

В HTML 4 интерпретация этих значений была нечувствительна к регистру, поэтому значение TEXT эквивалентно значению текста. В XML интерпретация этих значений чувствительна к регистру, а в XHTML 1 все эти значения определены в нижнем регистре.

Выше от XHTML 1.0 (наконечника шляпы, чтобы @amelvin для пятнистости что-то я предполагал, было еще один случай недокументированных изменений).

+0

Спасибо за подсказку шляпы - зная, что эти значения атрибутов можно назвать «перечисляемыми атрибутами», было интересно (если ретроспективно очевидно). – amelvin