Pregunta
¿Cuándo utilizar método POST o GET?
Responder esta pregunta por dudin el 2009-08-14
En muchas ocasiones he tenido la duda de cual método (POST o GET) seleccionar para enviar datos desde el cliente al servidor. Por lo que me gustaría contar con una ayuda o guía para hacer una elección correcta del mismo.
Respuestas
Con ambos métodos HTTP pueden lograr los mismos objetivos pero una incorrecta elección entre ellos puede conducir a resultados inesperados y potencialmente perjudiciales. No hay dudas de que GET son más las usadas:
1. Las solicitudes GET pueden ser cacheadas
2. Las solicitudes GET pueden permanecer en el historial del navegador
3. Las solicitudes GET pueden ser guardas en los favoritos
4. Las solicitudes GET pueden ser distribuidas y compartidas
El método GET es bueno para recuperar información de los sitios favoritos o en la optimización del motor de búsqueda y la indexación.
POST es bueno en los formularios donde se envían datos una sola vez. No se suele usar GET en formularios excepto los formularios de búsqueda en los que desea que el usuario pueda guardar la URL de consulta en sus favoritos.
- Regla # 1: Utilice POST cuando se trata de datos sensibles.
Las cadenas de datos de una consulta se trasmiten abiertamente en las solicitudes GET, debemos considerar nuestra seguridad y la de nuestros usuarios cuando se trata de datos sensibles como contraseñas o números de tarjetas de crédito.
Si bien es cierto que no expone la información a través de la URL como el método GET será necesario que la petición se realice a través de una conexión segura SSL.
- Regla # 2: Usar POST cuando se trata de grandes peticiones
A pesar de que la RFC no establece ninguna directriz relacionada con la longitud, Internet Explorer, en su insistencia en encontrar maneras de hacer las cosas difíciles para nosotros, impone un máximo de URL de 2.048 caracteres de longitud.
- Regla # 3: Utilice GET en entornos AJAX.
Cuando se utiliza XMLHttpRequest, los navegadores implementan el POST como un proceso de dos pasos (el envío de los encabezados y a continuación el envío de los datos). Esto significa que las solicitudes GET son más rápidas, siendo esto algo que se necesita en entornos AJAX.
Referencias:
- http://carsonified.com/blog/dev/the-definitive-guide-to-get-vs-post/ (Inglés)
- http://stackoverflow.com/questions/198462/get-versus-post-in-terms-of-security (Inglés)
- http://www.onlineassociates.ae/wp-content/images/external/carsonified-get-post.gif (Chuleta con un diagrama de flujo)
1. Las solicitudes GET pueden ser cacheadas
2. Las solicitudes GET pueden permanecer en el historial del navegador
3. Las solicitudes GET pueden ser guardas en los favoritos
4. Las solicitudes GET pueden ser distribuidas y compartidas
El método GET es bueno para recuperar información de los sitios favoritos o en la optimización del motor de búsqueda y la indexación.
POST es bueno en los formularios donde se envían datos una sola vez. No se suele usar GET en formularios excepto los formularios de búsqueda en los que desea que el usuario pueda guardar la URL de consulta en sus favoritos.
- Regla # 1: Utilice POST cuando se trata de datos sensibles.
Las cadenas de datos de una consulta se trasmiten abiertamente en las solicitudes GET, debemos considerar nuestra seguridad y la de nuestros usuarios cuando se trata de datos sensibles como contraseñas o números de tarjetas de crédito.
Si bien es cierto que no expone la información a través de la URL como el método GET será necesario que la petición se realice a través de una conexión segura SSL.
- Regla # 2: Usar POST cuando se trata de grandes peticiones
A pesar de que la RFC no establece ninguna directriz relacionada con la longitud, Internet Explorer, en su insistencia en encontrar maneras de hacer las cosas difíciles para nosotros, impone un máximo de URL de 2.048 caracteres de longitud.
- Regla # 3: Utilice GET en entornos AJAX.
Cuando se utiliza XMLHttpRequest, los navegadores implementan el POST como un proceso de dos pasos (el envío de los encabezados y a continuación el envío de los datos). Esto significa que las solicitudes GET son más rápidas, siendo esto algo que se necesita en entornos AJAX.
Referencias:
- http://carsonified.com/blog/dev/the-definitive-guide-to-get-vs-post/ (Inglés)
- http://stackoverflow.com/questions/198462/get-versus-post-in-terms-of-security (Inglés)
- http://www.onlineassociates.ae/wp-content/images/external/carsonified-get-post.gif (Chuleta con un diagrama de flujo)
por Anónimo el 2009-08-14



