GET e POST são os dois métodos de solicitação HTTP mais comumente usados. Normalmente, as solicitações GET são usadas para solicitar páginas da web, enquanto o POST é usado para enviar dados ao servidor da web, como por meio de um formulário da web.
Dica: embora sejam chamados de métodos HTTP, GET e POST também são usados em HTTPS.
Uma das distinções importantes é que quaisquer parâmetros incluídos nas solicitações GET são incluídos na própria URL, enquanto os parâmetros nas solicitações POST fazem parte do corpo da solicitação.
Por exemplo, uma URL de solicitação GET pode ser semelhante a “GET.php? Parâmetro = valor”, enquanto a URL de uma solicitação POST seria semelhante a “POST.php” e teria o “parâmetro = valor” definido no corpo da solicitação.
Uma das principais ramificações disso é que, quando os servidores da web registram solicitações, a URL solicitada é sempre registrada. Portanto, para solicitações GET, os parâmetros também são registrados, no caso de solicitações POST embora os valores não sejam registrados porque o corpo da solicitação não é registrado. Isso é especialmente importante para formulários que contêm dados confidenciais, como senhas ou PII (informações de identificação pessoal), pois o uso de POST significa que essas informações não são registradas em servidores da web.
Outras diferenças entre GET e POST incluem o fato de que as solicitações GET podem ser armazenadas em cache pelo navegador ou caches de terceiros, as solicitações GET são incluídas no histórico do navegador e podem ser marcadas. As solicitações POST em comparação nunca são armazenadas em cache, não são salvas no histórico do navegador e não podem ser marcadas.
É possível configurar formulários para usar uma solicitação GET para enviar dados ao servidor da web, mas fazer isso é uma má ideia, pois todos esses fatores entram em jogo. É especialmente importante para formulários confidenciais, como formulários de login, pois se essa solicitação fosse registrada, ela revelaria a senha do usuário e, se a resposta fosse armazenada em cache por terceiros, poderia permitir que outros usuários acessassem a conta do usuário.