Middle
REST ning tamoyillari qanday?
sobes.tech AI
AIdan javob
REST ning quyidagi tamoyillari mavjud:
- Mijoz-server arxitekturasi: Mijoz (xizmatdan foydalanuvchi) va server (xizmat ta'minlovchi) o'rtasida mas'uliyatlarni ajratish. Bu mijoz kodining ko'chirilishini va serverning kengaytirilishini ta'minlaydi.
- Holatsizlik (Stateless): Mijozdan serverga har bir so'rovda serverga bu so'rovni bajarish uchun zarur bo'lgan barcha ma'lumotlar bo'lishi kerak. Server so'rovlar orasida mijoz holatini saqlamaydi.
- Keshga olish mumkin: Server ma'lumotlarni mijoz yoki o'rta qatlamlar tomonidan keshga olish mumkinligini aniq ko'rsatishi mumkin. Bu ishlash va kengaytirilishni yaxshilaydi.
- Bir xil interfeys: Eng muhim tamoyil bo'lib, to'rt ta kichik tamoyilni o'z ichiga oladi:
- Resurslarni identifikatsiya qilish: Resurslar yagona URI lar bilan identifikatsiya qilinadi.
- Resurslarni vakilliklar orqali manipulyatsiya qilish: Mijoz resurslar bilan o'zaro aloqada bo'lib, ularning vakilliklarini (masalan, JSON yoki XML formatida) oladi va yangi vakilliklarni yuboradi, bu esa resurs holatini o'zgartiradi.
- O'z-o'zini ta'riflovchi xabarlar: Har bir xabar yetib boruvchiga uni qanday ishlashni tushunish uchun yetarli ma'lumotlarni o'z ichiga oladi. Standart HTTP sarlavhalaridan foydalaniladi.
- Hipermedia - ilova holatining dvigateli (HATEOAS): Mijoz resurslarning vakilliklarida joylashtirilgan hiperlinklar orqali mavjud harakatlar va ilova holatlari o'rtasidagi mumkin bo'lgan o'tishlar haqida ma'lumot topishi kerak.
- Qavatli tizim: Tizim o'rta qatlamlar (masalan, proksi, keshlar, gatewaylar) yordamida tashkil etilishi mumkin va bu qatlamlar orqali so'rovlar va javoblar o'tadi. Mijoz to'g'ridan-to'g'ri yakuniy server bilan yoki o'rta qatlamlar orqali aloqa qilayotganini bilmaydi.
- So'rov bo'yicha kod (Code on Demand - ixtiyoriy): Server vaqtinchalik mijoz funksionalligini kengaytirishi mumkin, bajariladigan kodni (masalan, JavaScript) uzatish orqali. Bu tamoyil REST bilan mos kelish uchun majburiy emas.