El concepto GET es obtener información del servidor. Traer datos que están en el servidor, ya sea en un archivo o base de datos, al cliente. Independientemente de que para eso tengamos que enviar (request) algún dato que será procesado para luego devolver la respuesta (response) que esperamos, como por ejemplo un identificador para obtener una noticia de la base de datos.

https://i.pinimg.com/originals/04/c2/9c/04c29c1b3c16f333ebfb1d2cd8130c12.jpg
POST sin embargo es enviar información desde el cliente para que sea procesada y actualice o agregue información en el servidor, como sería la carga o actualización en sí de una noticia. Cuando enviamos (request) datos a través de un formulario, estos son procesados y luego a través de una redirección por ejemplo devolvemos (response) alguna página con información.




Historial Los parámetros se guardan en el historial del buscador (browser) porque son parte del enlace (URL) No se guardan los parámetros en el historial del buscador

Archivación (bookmark)
Puede ser archivado No puede ser archivado
 
Resultado al usar BACK/resometer petición

Las peticiones GET se ejecutan de nuevo pero no se pueden re-someter al servidor si el HTML está guardado en el almacenaje (cache) del "browser"
El "browser" usualmente le avisa al usuario que la data tiene que ser re-sometida
Tipo de codificación (atributos enctype) application/x-www-form-urlencoded multipart/form-data o application/x-www-form-urlencoded
Parámetros Puede enviarlos pero la data de parámetros está limitado a lo que cabe en el URL. Es más seguro usar menos de 2K de los parámetros (algunos servidores llegan a 64K)
Puede enviar parámetros, incluyendo subir archivos al servidor
Vulnerabilidad Más fácil de atacar Más difícil de atacar
Restricciones en el tipo de data en el formulario Sí, sólo se permiten caracteres ASCII No tiene restricciones. Se permite data binaria.
Restricciones en la cantidad de data en formularios Sí porque la data del formulario está en el URL y hay un límite para URLS de 2,048 caracteres, aunque puede variar No tiene restricciones
Usabilidad El método GET no se debe usar para enviar claves de entrada o cualquier información sensitiva POST se debe usar para enviar claves de entrada o cualquier información sensitiva
Visibilidad GET está visible para todo el mundo (en la barra de URLS del buscador) y tiene límites a la cantidad de data que puede enviar La variables en POST no se ven en los URLs
Almacenable Se puede almacenar No se puede almacenar
Valores de variables grandes Límite de 7,607 caracteres Límite de 8 MB