Sobes.tech
Junior

REST-yo'naltirilgan arxitektura nima (ROA)?

sobes.tech AI

AIdan javob

REST-yo'naltirilgan arxitektura (Vakillarning Ta'rifi Holati Transferi) tarqatilgan tizimlar uchun arxitektura uslubi bo'lib, resurslar qanday aniqlanishi va mijoz va server o'rtasidagi o'zaro ta'sir qanday bo'lishini belgilovchi bir qator prinsipga asoslangan.

RESTning asosiy prinsiplari:

  1. Mijoz-server (Client-Server): Mas'uliyatlarni ajratish. Mijoz foydalanuvchi interfeysiga, server esa ma'lumotlarni saqlash va ishlashga mas'ul.
  2. Holatsizlik (Stateless): Mijozdan serverga har bir so'rov, uni ishlash uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga olishi kerak. Server so'rovlar orasida mijoz holatini saqlamaydi.
  3. Keshga olish mumkin (Cacheable): Mijozlar va oraliq tugunlar server javoblarini keshga olishi mumkin, bu esa ishlash va kengaytirishni yaxshilash uchun.
  4. Bir xil interfeys:
    • Resurslarni aniqlash: Resurslar URL orqali aniq belgilangan.
    • Resurslarni vakilliklar orqali manipulyatsiya qilish: Mijoz resursni vakillikdan (masalan, JSON, XML) foydalanib manipulyatsiya qilishi mumkin.
    • O'z-o'zini ta'riflovchi xabarlar: Har bir xabar uni qanday ishlashni tushunish uchun yetarli ma'lumotlarni o'z ichiga oladi.
    • Hypermedia yordamida holatni boshqarish (HATEOAS): Mijoz faqat server javoblarida taqdim etilgan hiperhavolalar orqali ilova bilan o'zaro ta'sir qiladi.
  5. Qavatli tizim: Tizim qavatlarga bo'linishi mumkin (masalan, proksi, eshiklar), va har bir komponent faqat o'zaro ta'sir qiladigan keyingi qavatni ko'radi.
  6. Talab qilinadigan kod (Code-On-Demand - ixtiyoriy): Server vaqtincha mijoz funksionalligini kengaytirish uchun bajariladigan kodni (masalan, JavaScript) uzatishi mumkin.

QA'da, REST API testlari ushbu prinsiplarga mosligini tekshirish bilan birga:

  • Funktsional testlar (HTTP metodlari GET, POST, PUT, DELETE).
  • Yuklama testlari.
  • Xavfsizlik testlari.
  • Moslik testlari (turli ma'lumot formatlari, mijozlar).