RESTful va Non-RESTful tizimlarida ilovalarni
sozlash
RESTful nima, aslida
Sizning arizangiz RESTfulmi? Bu savolga javob berish uchun avvalo RESTful
nima ekanligini tushunishingiz kerak. HTTP-da to'g'ri javob kodlarini berish
allaqachon RESTful degan fikr mavjud. Yoki to'g'ri idempotent HTTP so'rovlarini
qilish odatda juda RESTful. Hexlet-da biz
HTTP protokoli bo'yicha
amaliy kurs
o'tkazdik
(
versiya farqlari, shakllarni yuborish, autentifikatsiya, cookie-fayllar va
boshqalar
) va unda biz so'rovlardan to'g'ri foydalanish haqida gapirishga harakat
qilamiz, ammo RESTful emasligini tushunishingiz kerak. HTTP haqida, bu
internet protokollari haqida emas. HTTP va URI-lardan foydalangan holda
zamonaviy veb va brauzer-server o'zaro ta'siri RESTful bo'lishi mumkin yoki
bo'lmasligi mumkin.
Bugungi tarjimada - RESTful-ning sodda va tushunarli tavsifi va
tizim qanday
bo'lishi kerak, shuning uchun uni shunday deb atash mumkin.
Agar siz veb-ishlab chiqish bilan shug'ullansangiz, REST haqida eshitgan
bo'lishingiz mumkin. Ammo agar siz menga o'xshagan bo'lsangiz, hamma
narsani
RESTful qilyapsizmi, deb so'rashganda, odatda o'zini ko'rsatib, muloyimlik bilan
bosh irg'ab qo'yasiz. Men HTTP dan foydalanyapman, shuning uchun u RESTful,
to'g'rimi? Yaqinda men nihoyatda tinchlantiruvchi eshitiladigan bu so'z
nimani
anglatishini aniqlashga qaror qildim (ingliz tilidan "sokin", "xotirjam").
REST nima?
REST - Davlat vakillik o'tkazish uchun qisqartma. Bu yanada kengaytiriladigan va
moslashuvchan tarmoq uchun arxitektura tamoyillarining izchil to'plamidir. Ushbu
tamoyillar bir qator savollarga javob beradi. Tizimning tarkibiy qismlari
qanday? Ular bir-biri bilan qanday munosabatda bo'lishlari kerak? Tizimning turli
qismlarini istalgan vaqtda almashtirishingiz mumkinligiga qanday ishonch hosil
qilishingiz mumkin? Tizim qanday qilib milliardlab foydalanuvchilarga xizmat
ko'rsatishi mumkin?
Roy Filding birinchi marta REST atamasini 2000 yilda o'zining "
Arxitektura
uslublari va dasturiy ta'minot tarmog'i arxitekturasi dizayni" nomli doktorlik
dissertatsiyasida ishlatgan.
". Dissertatsiya nashr etilgan paytda World Wide Web
(Web) allaqachon juda mashhur edi. Fielding mohiyatan orqaga chekindi va
Internetni raqobatdosh Internet protokollariga qaraganda muvaffaqiyatliroq qilgan
xususiyatlarni tahlil qildi. Keyin u brauzerga o'xshash tarmoq aloqasini yaratish
uchun ramka tushunchasini ishlab chiqdi. Shunday qilib, REST bu Internetga xos
bo'lmagan umumiy tamoyillar to'plamidir. U o'rnatilgan tizimlar kabi
boshqa
turdagi tarmoqlarga qo'llanilishi mumkin. REST protokol emas, chunki u amalga
oshirish tafsilotlarini aniqlamaydi.
Maydon cheklovlari
Fieldingning tezislari RESTful-mos keladigan tizim qondirishi kerak bo'lgan bir
qator me'moriy cheklovlarga ega. Quyida men ushbu cheklovlarning har biri
haqida qisqacha ma'lumot beraman va Internet o'zining asosiy texnologiyalari:
HTTP, HTML va URI asosida ularni qanday qondirishini muhokama
qilaman. (Agar siz URI bilan tanish boʻlmasangiz, uni “URL” deb hisoblang. Ular
boshqacha, lekin bu bizning muhokamamiz uchun muhim emas.) Keling,
Fieldingning har bir cheklovlarini ko'rib chiqaylik.