Не нужно придумывать на ходу и подгонять спеку под свои желания. В спецификации четко оговорено что CAN, MAY, SHOULD. Про инденпотентность POST ничего не сказано, как сказано например про TRACE. При этом если ты внематочно почитаешь, то GET, HEAD, PUT and DELETE не инденпотенты в общем случае.
9.1.2 Idempotent Methods
Methods can also have the property of "idempotence" in that (aside
from error or expiration issues) the side-effects of N > 0 identical
requests is the same as for a single request. The methods GET, HEAD,
PUT and DELETE share this property.