Sobes.tech
Middle

HTTP metodları və onların idempotentliyi haqqında danışın.

sobes.tech Süni İntellekt

AI-dan cavab

HTTP metodları, müştərinin resurs üzərində yerinə yetirmək istədiyi əməliyyatı müəyyən edir. Əsas metodlar:

  • GET: Resursu əldə etmək. İdempotentdir (təkrarlanan sorğular serverdə vəziyyəti dəyişmir).
  • POST: Məlumatları emal üçün göndərmək (məsələn, yeni resurs yaratmaq, forma məlumatlarını göndərmək). Adətən, idempotent deyil.
  • PUT: Müəyyən edilmiş URI-də resurs yaratmaq və ya yeniləmək. İdempotentdir (eyni məlumatlarla təkrarlanan sorğu, eyni resurs vəziyyətinə gətirəcək).
  • DELETE: Müəyyən edilmiş URI-də resursu silmək. İdempotentdir (ilk uğurlu sorğudan sonra, təkrarlanan sorğular resursun vəziyyətini dəyişməz, çünki artıq silinib).
  • PATCH: Resursu qismən dəyişdirmək. Adətən, idempotent deyil, çünki əməliyyatların ardıcıllığı əhəmiyyətli ola bilər.
  • HEAD: GET-in cavab başlıqlarını almaq, cavab gövdesi olmadan. İdempotentdir.
  • OPTIONS: Resurs üçün dəstəklənən metodların siyahısını almaq. İdempotentdir.

İdempotentlik, eyni sorğunun çox dəfə yerinə yetirilməsi nəticəsində sistemin son vəziyyətinin tək yerinə yetirmə ilə eyni olacağı anlamına gəlir. Bu, yalnız serverdəki yan təsirlərə aiddir. Serverin cavabları fərqli ola bilər (məsələn, ilk DELETE sorğusu 200 OK, sonrakılar — 404 Not Found qaytara bilər).

İdempotent olmayan əməliyyatlara nümunələr:

  • POST istifadə edərək məhsulu səbətə çoxlu əlavə etmək.
  • POST və ya PATCH ilə sayğacı artırmaq.

İdempotent əməliyyatlara nümunələr:

  • GET ilə məlumatları çox dəfə almaq.
  • Müəyyən bir ID ilə istifadəçini yaratmaq və ya yeniləmək (PUT).
  • Müəyyən bir ID ilə istifadəçini silmək (DELETE).

İdempotentlik, sorğuların təkrar göndərilməsi lazım olduqda (məsələn, şəbəkə nasazlığı halında) vacibdir. Server, idempotent sorğunu təhlükəsiz şəkildə çox dəfə yerinə yetirə bilər, istənməyən dəyişikliklərə yol vermədən.