Sempre
POST
, e preferencialmente com SSL (como em:https://...
). Como os parâmetros em GET
são armazenados em todo o lugar por motivos de cache. Então, se seu chefe precisa de um motivo:segurança .
Há um motivo relacionado ao REST:o
GET
espera-se que as consultas sejam armazenadas em cache de forma agressiva, porque elas não alteram o estado dos dados do servidor. O POST
em vez disso, espera-se que as solicitações nunca sejam armazenadas em cache, porque alteram o estado do servidor e (diferentemente de PUT
solicitação), não há expectativa de chamar vários POST
solicitação para retornar a mesma resposta e deixar o servidor no mesmo estado. Por exemplo:se você enviar 5 solicitações de login, que falham, a 6ª pode retornar "seu IP foi bloqueado por 30 min" como resposta.