Em toda a internet, vejo os seguintes conselhos:
Um GET nunca deve alterar dados no servidor - use uma solicitação POST para esse
Qual é a base para essa ideia?
Se eu faço um serviço php que insere dados no banco de dados e transmito parâmetros na string de consulta GET, por que isso está errado? (Estou usando instruções preparadas, para cuidar da injeção de SQL). Uma solicitação POST é de alguma forma mais segura?
Ou há alguma razão histórica para isso? Em caso afirmativo, qual é a validade deste conselho hoje?