Mi idempotencia

idempotencia

Idempotencia - ez egy furcsa szó, amely gyakran kopogtat az embereket a rut. Idempotencia tűnik időnként zavaros fogalom, legalábbis abból ítélve, a tudományos meghatározás.

A szempontból RESTful szolgáltatást művelet (vagy szolgáltatás hívás) van idempotens, amikor az ügyfelek, hogy ugyanazt a hívást többször egy és ugyanazt az eredményt, a munka, mint egy „szetter” egy programozási nyelv. Más szóval, a teremtés nagy számú azonos lekérdezések ugyanaz a hatása, mint egy kérés. Megjegyezzük, hogy míg idempotens műveleteket ugyanazt az eredményt a szerveren (mellékhatások), magát a választ nem lehet azonos (például az erőforrás állapot között változtatható lekérdezések).

Módszereinek és Törlés idempotens definíció szerint. Mindazonáltal van egy ellentmondás, hogy az eljárás a DELETE billentyűt. A probléma az, hogy a sikeres DELETE-lekérdezés 200-as (OK) vagy 204 (Nincs tartalom), de a későbbi kérések mindig 404-es (nem található), kivéve, ha a szolgáltatás nincs beállítva „tag” a forrás, mint egy távoli anélkül, hogy ténylegesen eltávolítja. Bármi is volt, amikor a szolgáltatást ténylegesen törli a forrás, a következő hívás nem fogja megtalálni ezt a weboldalt, és a 404-es állapotát a szerver minden hívás után TÖRÖL ugyanaz, de különböző válaszokat.

Az eljárások GET, HEAD, opciós és TRACE elhatározta, hogy biztonságos legyen, ami lehetővé teszi azt is idempotens. További információk a biztonsági részt alább.

biztonság

Leegyszerűsítve, a biztonság azt jelenti, hogy a módszer hívás nincsenek mellékhatásai. Következésképpen az ilyen (biztonságos) kérelmek, az ügyfelek biztonságosan végre ismételten félelem nélkül a változás az állam a szerver. Ez azt jelenti, hogy a szolgáltatások be kell tartaniuk a biztonság definíciója a GET, HEAD, opciók és TRACE műveleteket. Ne hajtsa végre az ingatlan járhat a fogyasztó megtévesztésének szolgáltatás, valamint gondot okoznak Web caching, keresők és más automatizált szerek, amelyek véletlenül változtatni az állam a szerveren.

A definíció szerint a biztonságos műveletek idempotens, hiszen vezet ugyanarra az eredményre a szerveren.

Biztonságos módszer végrehajtását csak olvasásra műveleteket. Azonban a biztonság nem jelenti azt, hogy a szerver vissza ugyanazt az eredményt minden alkalommal.