Hace poco un compi me dijo: "Si los datos son ligeros y pocos usa GET, si son pesados y demasiados usa POST" ... pero, ¿Qué conio?.
GET y POST son "verbos" o métodos de petición (request methods), que a través del protocolo HTTP indican una acción a realizar en algún recurso que se haya identificado.
La primer diferencia entre estos dos métodos es el formato de codificación de datos, es decir, el formato de codificación enviado al recurso varia de acuerdo al método utilizado, pero no quiero mosquearme escribiendo de eso...
La recomendación (según estándares) es que se utilice GET si y solo si el proceso de formularios es idempotente... ¿ w t f ?!
En nuestras bonitas matemáticas, la idempotencia es una propiedad que dada una acción en ocasiones repetidas se obtiene el mismo resultado que si se hubiera realizado una sola vez. En nuestro caso, no debe tomarse al pie de la letra, porque podríamos traducirlo como "El resultado de realizar muchas peticiones GET idénticas es el mismo que realizar un sola vez dicha petición"... pues no... El caso es que si la petición no causa efectos duraderos o "cambios de estado" (por ejemplo, almacenar información en una base de datos) excepto en la pantalla del usuario, deberíamos utilizar GET. Al contrario, si se desea realizar cambios duraderos, debería utilizarse el método POST.
Los navegadores por lo regular advierten al usuario que están por volver a procesar alguna solicitud "POST" (normal que una página tenga un error y se intente regresar con el "volver" del navegador). Esto es realmente molesto, podría ocasionar un "cambio de estado", por ejemplo volver a realizar la transferencia de 1000 piedrólares de tu cuenta a la de tu abuela , o lo que sea.
Pero, ¿La razón?
De la misma manera en que el estándar (el estándar es algo así como un todopoderoso) recomienda en que casos usar GET y en cuales utilizar POST, describe a todo detalle técnico la forma de envío de datos de ambos métodos. Sin embargo, no explica porque debe utilizarse uno y/o porque el otro... al rato termino, posteo de una vez al cabo nadie se va dar cuenta =)
No hay comentarios:
Publicar un comentario