2010-11-05 19 views
35

Me doy cuenta de que ambos funcionarán, pero ¿es uno más correcto que el otro?POST vs publicación, GET vs obtener

<form method="POST" /> 

vs

<form method="post" /> 

Por qué utilizar uno o el otro?

+8

W3C llama a estos 'atributos enumerados' y recomienda minúsculas para el nombre y el valor. – amelvin

Respuesta

32

W3C ha tendido hacia la minúscula para los nombres de atributos y valores por un tiempo.

Por ejemplo la sección 4.11 de la xhtml 1.0 standard en 2002:

4,11. Atributos con conjuntos de valores predefinidos

HTML 4 y XHTML ambos tienen algunos atributos que han pre-definidos y conjuntos limitados de valores (por ejemplo, el tipo de atributo del elemento de entrada). En SGML y XML, estos se denominan atributos enumerados . En HTML 4, , la interpretación de estos valores era sin distinción de mayúsculas y minúsculas, por lo que un valor de TEXTO era equivalente a un valor de texto. En XML, la interpretación de estos valores distingue entre mayúsculas y minúsculas, y en XHTML 1 todos estos valores se definen en minúsculas.

4

Cualquiera está bien. No es sensible a mayúsculas y minúsculas. w3schools implica el W3C recomienda minúsculas para HTML: http://www.w3schools.com/html/html_attributes.asp

Aquí está el W3C XHTML menor requerimiento de los casos para los atributos: http://www.w3.org/TR/xhtml1/#h-4.2

+4

w3schools de ninguna manera afiliados con w3c! –

+2

Eugh. Desearía que W3Schools se hubiera molestado en vincular esa recomendación, porque no puedo encontrarla en ningún lado. En general, evite W3Schools. Son altamente propensos a errores. – Quentin

+0

@Alin - Normalmente estaría gritando eso yo mismo, pero la página citada indica que el W3C hace esa recomendación (aunque no dice dónde lo hacen). Sin embargo, la respuesta podría estar mejor redactada para evitar la implicación. – Quentin

8

Either way is fine para HTML. No hay una recomendación específica.

Los valores posibles (sin distinción entre mayúsculas y minúsculas) son "obtener" (predeterminado) y "publicar".

Existen argumentos para mayúsculas y minúsculas. Se podría decir que el valor predeterminado para los tokens HTML (y obligatorios para XHTML) es escribirlos en minúscula, pero decir que los valores utilizados en las solicitudes HTTP son mayúsculas es igualmente válido.

13

You can use either of them porque HTML no distingue entre mayúsculas y minúsculas.

See HTML 4.01 Specification

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

"A" como el mismo).


Tenga en cuenta que debe haber XHTML minúsculas.

4.2. Los nombres de elementos y atributos deben estar en minúsculas

Los documentos XHTML deben utilizar minúsculas para todos los nombres de elementos y atributos HTML . Esta diferencia es necesaria porque XML distingue entre mayúsculas y minúsculas, p. <li> y <LI> son etiquetas diferentes.

+2

Vale la pena señalar que XHTML (tenga en cuenta la X) * es * distingue entre mayúsculas y minúsculas: las etiquetas y los nombres de los atributos deben estar en minúsculas. Dicho esto, no estoy al tanto de las restricciones de casos en valores * de atributo * bien definidos. – RobM

+0

¿No se debe al doctype? porque XML requiere minúsculas. – RobertPitt

+0

@RobM: Es bueno que mencione el estándar XHTML, aunque aquí me refería a la especificación HTML 4.01: http://www.w3.org/TR/html4/interact/forms.html#adef-method. Actualice la respuesta :) – Sarfraz

2

Como con la mayoría de las convenciones de codificación, la coherencia es la clave. Elija la carcasa con la que se sienta más cómodo y asegúrese de usarla en todo su código.

+0

QUÉ SUCEDE SI NO TENGO MI MÁRKUP ESTOY BIEN, ESCOJO 'CASO MIXTO' :) – RobertPitt

+2

@RoBeRtPiTt: ¡MIENTRAS TU MEJOR CLAVE LO HAGO! –

2

Desde el HTML 4.01 Recommendation:

Este atributo especifica el método HTTP se utiliza para presentar el conjunto de datos del formulario. Posible (no distingue entre mayúsculas y minúsculas) los valores son "get" (predeterminado) y "post".

XHTML es diferente, y los valores de atributo allí son mayúsculas y minúsculas y debe ser caso inferior.

En HTML 4, la interpretación de estos valores no distingue entre mayúsculas y minúsculas, por lo que un valor de TEXTO era equivalente a un valor de texto. Bajo XML, la interpretación de estos valores distingue entre mayúsculas y minúsculas, y en XHTML 1 todos estos valores se definen en minúsculas.

Lo anterior es de XHTML 1.0 (Punta de sombrero para @amelvin para observar algo asumí que era otro caso de un cambio no documentado).

+0

Gracias por la punta de sombrero: saber que estos valores de atributos se pueden llamar 'atributos enumerados' fue interesante (si es retrospectivamente obvio). – amelvin