GET y POST son los dos métodos de solicitud HTTP más utilizados. Normalmente, las solicitudes GET se utilizan para solicitar páginas web, mientras que POST se utiliza para enviar datos al servidor web, por ejemplo, a través de un formulario web.
Consejo: si bien se denominan métodos HTTP, tanto GET como POST también se utilizan en HTTPS.
Una de las distinciones importantes es que los parámetros incluidos en las solicitudes GET se incluyen en la propia URL, mientras que los parámetros en las solicitudes POST forman parte del cuerpo de la solicitud.
Por ejemplo, una URL de solicitud GET puede verse como "GET.php? Parámetro = valor" mientras que la URL para una solicitud POST se vería como "POST.php" y luego tendría el "parámetro = valor" establecido en el cuerpo de la solicitud.
Una de las ramificaciones clave de esto es que cuando los servidores web registran solicitudes, la URL solicitada siempre se registra. Por lo tanto, para las solicitudes GET, los parámetros también se registran, en el caso de las solicitudes POST, aunque los valores no se registran ya que el cuerpo de la solicitud no se registra. Esto es especialmente importante para los formularios que contienen datos confidenciales como contraseñas o PII (información de identificación personal), ya que el uso de POST significa que esta información no se registra en los servidores web.
Otras diferencias entre GET y POST incluyen el hecho de que las solicitudes GET pueden ser almacenadas en caché por el navegador o por cachés de terceros, las solicitudes GET se incluyen en el historial del navegador y se pueden marcar. En comparación, las solicitudes POST nunca se almacenan en caché, no se guardan en el historial del navegador y no se pueden agregar a marcadores.
Es posible configurar formularios para usar una solicitud GET para enviar datos al servidor web, pero hacerlo es una mala idea ya que todos estos factores entran en juego. Es especialmente importante para los formularios confidenciales, como los formularios de inicio de sesión, ya que si esta solicitud se registrara revelaría la contraseña del usuario, y si la respuesta fue almacenada en caché por un tercero, podría permitir que otros usuarios inicien sesión en la cuenta del usuario.