Mijoz — Server" (inglizcha: client–server) — bu kompyuter yoki tarmoq arxitekturasi boʻlib, unda vazifalar yoki tarmoq yuki serverlar deb ataladigan xizmat koʻrsatuvchi provayderlar va mijozlar deb ataladigan xizmat koʻrsatuvchi mijozlar oʻrtasida taqsimlanadi. Aslida, mijoz va server dasturiy taʼminot hisoblanadi. Odatda, bu dasturlar turli xil kompyuterlarda joylashgan va bir-biri bilan kompyuter tarmogʻi orqali oʻzaro taʼsir qiladi tarmoq protokollari, lekin ular bir xil mashinada ham joylashgan boʻlishi mumkin. Server dasturlari mijoz dasturlaridan soʻrovlarni kutadi va ularni maʼlumotlar shaklida oʻz resurslari bilan taʼminlaydi beradi (masalan, HTTP, FTP, BitTorrent orqali fayllarni uzatish, oqimli media yoki maʼlumotlar bazalari bilan ishlash) yoki xizmat funksiyalari koʻrinishida (masalan, elektron pochta bilan ishlash, lahzali xabar almashish tizimlari orqali aloqa yoki World Wide Webda veb-sahifalarni koʻrish). Bitta server dasturi koʻplab mijoz dasturlari soʻrovlarini bajarishi mumkinligi sababli, u boshqa server dasturlari bilan birga, qoida tariqasida, maxsus tarzda tuzilgan maxsus ajratilgan kompyuterga joylashtiriladi, shuning uchun bu mashinaning ishlashi yuqori boʻlishi kerak boʻladi. Bunday mashinaning tarmoqdagi alohida roli, uning apparat va dasturiy taʼminotining oʻziga xos xususiyatlari tufayli uni server deb ham atashadi va mijoz dasturlarini bajaradigan mashinalar mos ravishda mijozlardir.
Mijoz va serverning roli[tahrir | manbasini tahrirlash]
Mijoz-server xarakteristikasi dasturdagi oʻzaro taʼsir qiluvchi dasturlarning aloqasini tavsiflab beradi. Server komponenti bunday xizmatlarga soʻrovlarni boshlaydigan bir yoki bir nechta mijozlarga funksiya yoki xizmatni taqdim etadi. Serverlar taqdim etayotgan xizmatlarga qarab tasniflash mumkin. Masalan, veb-server veb-sahifalarga, fayl-server esa kompyuter fayllariga xizmat qiladi. Umumiy resurs dastur va maʼlumotlardan tortib protsessorlar va saqlash qurilmalarigacha boʻlgan server kompyuterining har qanday dasturiy taʼminoti va elektron komponentlari boʻlishi mumkin. Server resurslarini almashish — bu xizmat.
Kompyuter mijozmi, servermi yoki har ikkalasi ham xizmatlarni talab qiladigan ilovaning tabiati bilan belgilanadi. Misol uchun, veb-serverlar va fayl serveri dasturiy taʼminoti bir vaqtning oʻzida bir xil kompyuterda ishlashi mumkin, bu esa har xil turdagi soʻrovlarni yuboradigan mijozlar uchun turli xil maʼlumotlarni taqdim etadi. Mijoz dasturiy taʼminoti bir xil kompyuterdagi server dasturi bilan ham oʻzaro aloqada boʻlishi mumkindir. Serverlar oʻrtasidagi aloqa, masalan, maʼlumotlarni sinxronlashtirish uchun, baʼzan serverlararo deb ataladi.
Mijoz-server oʻzaro taʼsiri[tahrir | manbasini tahrirlash]
Umuman olganda, xizmat kompyuter resurslarining mavhumligi boʻlib, mijoz soʻrov yuborish va javob berishda server qanday ishlashi haqida tashvishlanmasligi kerak. Mijoz javobni faqat maʼlum dastur protokoli, yaʼni soʻralgan xizmat uchun kontent va maʼlumotlarni formatlash asosida tushunishi kerak boʻladi.
Mijozlar va serverlar soʻrov-javob tartibida xabar almashadilar. Mijoz soʻrov yuboradi va server yuborilgan soʻrovga javob qaytaradi. Ushbu xabar almashish jarayonlararo aloqaning namunasidir. Muloqot qilish uchun kompyuterlar umumiy tilga ega boʻlishi kerak va ular mijoz va server nima kutishlarini bilishlari uchun qoidalarga rioya qilishlari kerak. Aloqa tili va qoidalari aloqa protokolida belgilanadi. Mijoz-server modelining barcha protokollari amaliy qatlamda ishlaydi. Ilova sathining protokoli asosiy suhbat shakllarini belgilaydi. Maʼlumotlar almashinuvini yanada rasmiylashtirish uchun server amaliy dasturlash interfeysini (API) amalga oshirishi mumkin. API — bu xizmatga kirish uchun abstraktsiya qatlami. Muayyan kontent formatiga havolani cheklash orqali u tahlil qilishni osonlashtiradi. Mavhum kirish orqali u platformalararo maʼlumotlar almashinuvini osonlashtiradi[1].
Server qisqa vaqt ichida turli xil mijozlarning soʻrovlarini qabul qilishi mumkin. Kompyuter har qanday vaqtda faqat cheklangan miqdordagi vazifalarni bajarishi mumkin va ularni qondirish uchun mijozlardan kiruvchi soʻrovlarni birinchi oʻringa qoʻyish uchun rejalashtirish tizimiga tayangan holda ishlaydi. Suiisteʼmollikning oldini olish va mavjudlikni maksimal darajada oshirish uchun server dasturlari mijozlar uchun mavjudligini cheklashi mumkin. Xizmat koʻrsatishni rad etish hujumlari serverning soʻrovlarni qayta ishlash mas’uliyatidan foydalanadi, bunday hujumlar serverni haddan tashqari koʻp soʻrovlar bilan yuklash orqali ishlaydi. Agar maxfiy maʼlumotlar mijoz va server oʻrtasida uzatilishi kerak boʻlsa, shifrlashdan foydalanish kerak.