Qual é a maneira correta de visualizar a idempotência em termos de HTTP DELETE?

Passei muito tempo lendo recentemente a especificação HTTP 1.1 e relacionando-a ao REST. Eu descobri que há duas interpretações do método HTTP DELETE no que diz respeito à sua "idempotência" e segurança. Aqui estão os dois campos:

Se você excluir um recurso com HTTP DELETE, e ele for bem-sucedido (200 OK), e tentar excluir esse recurso N várias vezes, você receberá uma mensagem de sucesso (200 OK) para cada um deles. chamadas. Essa é a sua "idempotência".

Se você excluir um recurso com HTTP DELETE e ele for bem-sucedido (200 OK) e tentar excluir esse recurso novamente, você receberá uma mensagem de erro (410 Gone) porque o recurso foi excluíd

A especificação diz que DELETE é idempotente, com certeza, mas também diz que seqüências de eventos idempotentes ainda podem produzir efeitos colaterais. Eu realmente sinto que o segundo campo está correto, e o primeiro é enganoso. Que "segurança" introduzimos ao permitir que os clientes pensassem que eram a causa da exclusão de um recurso excluído anteriormente?

Há muitas pessoas no primeiro campo, incluindo vários autores sobre o assunto, então eu queria verificar se havia alguma razão convincente além de emoções que levem as pessoas ao primeiro camp

questionAnswers(3)

yourAnswerToTheQuestion