3 ms·
That's actually a good example, because if the standard specified that POST must be idempotent, and that a POST without a uuid is invalid, we might have somethi
by samatman 4y ago
That's actually a good example, because if the standard specified that POST must be idempotent, and that a POST without a uuid is invalid, we might have something here.
Instead there's a workaround for a serious problem, and any client (browser being by no means the only client) which doesn't respect the convention can emit identical POSTs, with no way of knowing if that was intended.
- svieira 4y agoThe standard says "POST means NOT-IDEMPOTENT" and "clients MUST not re-issue a non-idempotent requests" and the client behavior naturally falls out of those two constraints.
- samatman 4y agoThe standard being completely backward and impossible to enforce is a problem!
- P5fRxh5kUvp2th 4y agostandards are agreements, they've never been there with the expectation of enforcement.
- samatman 4y agoUnenforceable and unenforced are very different things.
- P5fRxh5kUvp2th 4y agoUnless you've got state actors behind it, it's unenforceable, full stop. We saw this when MS would regularly ignore HTML standards.
- Ajedi32 4y agoPOST is intentionally not idempotent. If you want impotence, that's what PUT and DELETE are for. Sadly, browser support for those two methods is somewhat lacking. You can't specify that a form send a PUT request, for example, only GET or POST.
- Ferret7446 4y agoYou're looking for PUT.