1-Interfeys cheklovi: Resurslarni aniqlash
Birinchi "birlashtirilgan interfeys" kichik cheklovi resurslarni aniqlashga ta'sir
qiladi. REST terminologiyasida hamma narsa resurs bo'lishi mumkin - HTML
hujjati, rasm, ma'lum bir foydalanuvchi haqidagi ma'lumot va boshqalar. Har bir
resurs doimiy identifikator bilan noyob tarzda aniqlanishi kerak. “Doimiy”
identifikator ma‟lumotlar almashinuvi jarayonida, hatto resurs holati o„zgarganda
ham o„zgarmasligini bildiradi. Agar resursga boshqa identifikator berilgan bo'lsa,
server mijozga so'rov muvaffaqiyatsiz bo'lganligi haqida xabar berishi va yangi
manzilga havolani taqdim etishi SHART.
Veb resurslarni aniqlash uchun URI-lardan foydalanadi, HTTP esa uni aloqa
standarti sifatida ishlatadi. Serverda saqlangan resursni olish uchun mijoz resursni
aniqlaydigan URI ga HTTP GET so'rovini yuboradi. Brauzerga har safar manzil
kiritganingizda, brauzer ushbu URI ga GET so'rovini yuboradi. Agar brauzer 200
OK javobini va HTML hujjatini qaytarib olsa, brauzer sahifani oynada ko'rsatadi
va siz uni ko'rasiz.
2-Interfeys cheklovi: Ko'rishlar orqali resurslarni boshqarish
Ikkinchi "birlashtirilgan interfeys" kichik cheklovida aytilishicha, mijoz serverga
taqdimotlarni yuborish orqali resurslarni boshqaradi, odatda JSON ob'ekti
ko'rinishida, o'zi qo'shish, olib tashlash yoki o'zgartirishni xohlagan tarkibni o'z
ichiga oladi. REST-da server resurslarni to'liq nazorat qiladi va har qanday
o'zgarishlar uchun javobgardir. Mijoz resurslarga o'zgartirishlar kiritmoqchi
bo'lganida, u olingan resursni serverga qanday ko'rishi haqida ma'lumot
yuboradi. Server so'rovni taklif sifatida qabul qiladi, lekin u hali ham to'liq
nazoratga ega.
Misol tariqasida blogni olaylik. Foydalanuvchi yangi blog postini yaratganda,
uning kompyuteri serverga blogga yangi blog yozuvini qo'shish kerakligini aytishi
kerak. Buning uchun u HTTP POST so'rovini yoki yangi blog posti sifatida
kontent bilan PUT so'rovini yuboradi. Server yozuv yaratilganligini yoki muammo
borligini bildiruvchi javob qaytaradi. REST bo'lmagan dunyoda mijoz yakuniy
resursni qanday ko'rishi haqidagi ma'lumotni yuborish o'rniga "yangi qator
qo'shish" va "yozuvga nom berish" kabi operatsiyalarni tom ma'noda ko'rsatishi
mumkin.
Uchinchi interfeys cheklovi: o'z-o'zidan tuzilgan xabarlar
o'z ichiga olgan xabarlar mijozlar va serverlar o'rtasida izchil interfeysni
ta'minlaydigan yana bir cheklovdir. Faqat o'z-o'zidan ta'minlangan xabar qabul
qiluvchi uni tushunishi uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga
oladi. Alohida hujjat yoki boshqa xabarda qo'shimcha ma'lumotlar bo'lmasligi
kerak.
Bu WEB uchun qanday qo'llanilishini tushunish uchun HTTP so'rovlari va
javoblari to'plamini tahlil qilaylik. Foydalanuvchi veb-brauzerning manzil
satriga
www.example.com
ni yozganda, brauzer tegishli HTTP so'rovini yuboradi: Bu o'z-o'zidan tuzilgan
xabar, chunki u serverga qaysi HTTP usuli va protokoli ishlatilganligini bildiradi
(HTTP 1.1). Server quyidagi kabi javob yuborishi mumkin:
GET / HTTP/1.1
Host: www.example.com
HTTP / 1.1 200 OK
Content-Type: text/html
Home Page
Hello World!
Check out the Recurse Center!
Umuman olganda, RESTful tizim Fielding cheklovlariga javob beradigan har
qanday tarmoqdir. RESTful tizim turli xil foydalanish holatlari uchun etarlicha
moslashuvchan bo'lishi, ko'p sonli foydalanuvchilar va komponentlarni sig'dira
oladigan darajada o'lchanishi va vaqt o'tishi bilan moslashishi kerak. Inson va
brauzer o„zaro aloqasi haqida gap ketganda, biz Internet qanday RESTful
ekanligini ko„rib chiqdik. Mashinadan mashinaga aloqa uchun RESTful veb-
interfeyslarini loyihalash ancha rivojlangan mavzudir (qo'shimcha ma'lumot olish
uchun quyida keltirilgan resurslarga qarang). Esda tutingki, REST nazariy
dizayndir va bugungi kunda mavjud bo'lgan Internet ba'zida nazariyadan mahrum
Do'stlaringiz bilan baham: |