Sobes.tech
Middle

Pastāstiet par HTTP metodes un to idempotentību.

sobes.tech AI

Atbilde no AI

HTTP metodes nosaka darbību, ko klients vēlas veikt resursam. Galvenās metodes:

  • GET: Saņemt resursu. Inndempotenta (atkārtotas pieprasījumi nemaina servera stāvokli).
  • POST: Sūtīt datus apstrādei (piemēram, izveidot jaunu resursu, sūtīt formu datus). Parasti nav inndempotenta.
  • PUT: Izveidot vai atjaunināt resursu norādītajā URI. Inndempotenta (atkārtota pieprasījuma ar tiem pašiem datiem novedīs pie tā paša resursa stāvokļa).
  • DELETE: Dzēst resursu norādītajā URI. Inndempotenta (pēc pirmās veiksmīgās pieprasījuma, atkārtoti pieprasījumi nemainīs resursa stāvokli, jo tas jau ir dzēsts).
  • PATCH: Daļēji mainīt resursu. Parasti nav inndempotenta, jo darbību secība var būt nozīmīga.
  • HEAD: Saņemt GET atbildes galvenes bez atbildes ķermeņa. Inndempotenta.
  • OPTIONS: Saņemt atbalstīto metožu sarakstu resursam. Inndempotenta.

Inndempotētība nozīmē, ka atkārtots vienas un tās pašas pieprasījuma izpildes rezultāts būs tas pats, kas vienreizējas izpildes rezultāts. Tas attiecas tikai uz servera blakus efektiem. Servera atbildes var atšķirties (piemēram, pirmā DELETE pieprasījuma atbilde var būt 200 OK, bet nākamās — 404 Not Found).

Piemēri neinndempotentām operācijām:

  • Preces atkārtota pievienošana grozam ar POST.
  • Skaitītāja palielināšana ar POST vai PATCH.

Piemēri inndempotentām operācijām:

  • Datu atkārtota saņemšana ar GET.
  • Lietotāja izveide vai atjaunināšana ar konkrētu ID ar PUT.
  • Lietotāja dzēšana ar konkrētu ID ar DELETE.

Inndempotētība ir svarīga, ja nepieciešams atkārtoti nosūtīt pieprasījumus (piemēram, tīkla kļūdu gadījumā). Serveris droši var atkārtoti izpildīt inndempotantu pieprasījumu, neradot nevēlamas izmaiņas.