Junior
REST nima?
sobes.tech AI
AIdan javob
REST (Vakillash Taqdimoti) — bu tarqatilgan tizimlarni qurish uchun mo'ljallangan arxitektura uslubi bo'lib, u asosan veb-xizmatlarni loyihalashda qo'llaniladi. U veb-resurslar qanday o'zaro ta'sir qilishini belgilovchi prinsiplar va cheklovlar to'plamiga asoslangan.
REST ning asosiy prinsiplari:
- Mijoz-server: Mijoz va server o'rtasida aniq vazifalar taqsimoti.
- Stateless (holatsiz): Server mijozning holati haqida ma'lumotni saqlamaydi. Har bir so'rovda bajarish uchun zarur bo'lgan barcha ma'lumotlar bo'lishi kerak.
- Cacheable (keshga olish mumkin): Mijozlar server javoblarini keshga olishi mumkin, bu ishlashni yaxshilash uchun. Server javobni keshga olish mumkinligini aniq ko'rsatadi.
- Qavatli tizim: Mijoz o'rtacha qavat bilan (masalan, proksi, yuk balanslagich) o'zaro ta'sir qilishi mumkin, buni bilmasdan.
- Talab bo'yicha kod (ixtiyoriy): Server mijozga bajariladigan kodni (masalan, JavaScript) yuborishi mumkin, bu mijozning funksionalligini kengaytiradi.
- Bir xil interfeys: eng muhim prinsip bo'lib, quyidagilarni o'z ichiga oladi:
- Resurslarni identifikatsiya qilish (URI).
- Resurslarni vakilliklar orqali manipulyatsiya qilish (ma'lumotlarni ma'lum formatda almashish, masalan, JSON, XML).
- O'z-o'zini ta'riflovchi xabarlar (xabarlar o'z ichiga olgan barcha ma'lumotlar bilan to'liq bo'lishi kerak).
- HATEOAS (Hypermedia as the Engine of Application State): Mijoz server javoblaridagi gipermurojaatlarni ishlatib, ilova holatlari o'rtasida o'tishi mumkin.
RESTful API — bu REST uslubining veb-xizmatlar uchun amalga oshirilishi bo'lib, resurslar bilan ishlash uchun standart HTTP usullarini (GET, POST, PUT, DELETE) qo'llaydi.
// RESTful API da HTTP usullaridan foydalanish misoli
// Resursni olish
// GET /api/products/1
// Resursni yaratish
// POST /api/products
// Body: { "name": "Yangi Mahsulot", "price": 10.50 }
// Resursni yangilash
// PUT /api/products/1
// Body: { "name": "Yangilangan Mahsulot", "price": 11.00 }
// Resursni o'chirish
// DELETE /api/products/1