Tecnología

Inicio

¿Cuál es la diferencia entre HTTP GET y POST HTTP?

¿Cuál es la diferencia entre HTTP GET y POST HTTP?


Cuando se envía un formulario, uno de los dos métodos se utiliza en la sombra para transmitir datos de forma que a cualquier página Web o código está diseñado para leerlo. Dependiendo de las circunstancias, el método será GET o POST. Ambos pueden ser utilizados para manejar el mismo tipo de datos, pero hay diferencias claras e importantes entre GET y POST. Por razones de practicidad, facilidad de uso y seguridad, cualquier situación dada llama normalmente para un tipo específico de solicitud de formulario.

GET contra la POST

Estrictamente hablando, la diferencia entre GET y POST reside en cómo se transfieren las peticiones. GET información se transmite en la URL. Si alguna vez has visto una dirección URL que incluye signos de interrogación y los símbolos de unión, que estuvo viendo a una petición GET: example.com/request.php?var1=foo&var2=bar es una cadena GET que codifica la variable "var1" como "foo "y la variable" var2 "como" bar ". información posterior está incluido en el cuerpo de la solicitud, y no es visible en la cadena de URL (y, por lo tanto, no es visible para el usuario).

Pautas formales

Formalmente, las directrices HTML GET dicen que se debe utilizar para las solicitudes "idempotente", o solicitudes que no cambian nada. Por ejemplo, imaginemos una página Web que devuelve el tiempo local: "example.com/weather.php?zipcode=12345". El acto de presentación de esta solicitud una y otra vez, no cambia nada. Puesto debe ser utilizado para las peticiones que no son idempotente. Por ejemplo, supongamos que se estuviera haciendo una compra con su tarjeta de crédito. La presentación de dicha solicitud una y otra podría dar lugar a algunos cambios bastante grandes. Debido a volver a presentar una solicitud POST tiene consecuencias (incluso si son de menor importancia), los navegadores web suelen aparecer una solicitud para que el usuario confirme que realmente quieren volver a enviar la consulta formulario.

Ventajas del GET

GET tiene una serie de ventajas sobre POST. Debido a GET se codifica como parte de una dirección URL, puede cortar y pegar la URL y compartir con ella otras personas. GET solicitudes también se pueden marcar. Si compruebe periódicamente el tiempo, podría agregar "example.com/weather.php?zipcode=12345" a la barra de "favoritos" de su navegador, por lo que al hacer clic en ese enlace se carga automáticamente a su página del tiempo personalizado. Debido a que las solicitudes GET son visibles (y editable) por parte del usuario, sino que también puede ser hackeado. Por ejemplo, si el sitio de tiempo no ofrecía una forma obvia de cambiar la ubicación de la solicitud de tiempo, puede cambiar manualmente "12345" a "99762" para mirar el tiempo en Nome, Alaska en lugar del tiempo en Schenectady.

Cuándo utilizar la POST

Incluso en situaciones en que se idempotente, POST tiene usos claros ocasionales. Algunos de ellos se basan en la seguridad o legalidad. las variables GET se transmiten "en claro", por lo que no quiere mandar la tarjeta de crédito, números de seguridad social, contraseñas o información confidencial del usuario a través de GET. Dado que los datos POST se oscureció, es preferible en esas situaciones. Post también se utiliza para la transmisión de grandes cantidades de datos, incluso si esos datos no es sensible. Técnicamente, las direcciones URL (y por lo tanto variables GET) pueden ser de longitud ilimitada. Pero debido a que muchos navegadores limitan la cantidad de espacio de una URL puede tardar hasta, por lo general se obtiene es considerado adecuado sólo para las solicitudes relativamente cortos.