Sobes.tech
Middle

Minden HTTP-módszer idempotens?

sobes.tech MI

Válasz az MI-től

Nem, nem minden HTTP módszer idempotens.

Az idempotencia azt jelenti, hogy ugyanazt a kérést többször végrehajtva a szerver oldalon az eredmény nem változik az első sikeres végrehajtás után.

A fő HTTP módszerek és azok idempotentsége:

Módszer Idempotens? Cél
GET Igen Adatok lekérése
HEAD Igen Válaszcímkék lekérése
PUT Igen Erőforrás létrehozása vagy teljes cseréje
DELETE Igen Erőforrás törlése
POST Nem Adatok küldése erőforrás létrehozására vagy művelet végrehajtására
PATCH Nem Erőforrás részleges frissítése

A POST és PATCH nem idempotensek, mert minden végrehajtásuk új erőforrás létrehozásához vagy az erőforrás állapotának módosításához vezethet, ami nem egyedi az első sikeres végrehajtás után. Például, egy felhasználó létrehozására irányuló POST kérés többszöri végrehajtása általában több felhasználót eredményez.

Nem idempotens POST példa:

{
  "username": "testuser"
}

Ennek a POST kérésnek a küldése minden hívásnál új felhasználót hozhat létre.

Idempotens PUT példa:

{
  "id": 123,
  "status": "completed"
}

Ezt a PUT kérését az ID 123-as erőforrásra küldve annak állapotát "completed"-re állítja. Az ismételt küldés nem változtatja meg az állapotot, ha az már "completed".