Asosiy kontentga o‘tish
Informatik.uz
Bakalavr · 3-kurs2-bob. Tarmoq texnologiyalari

HTTP protokoli va REST API

HTTP so‘rov-javob modeli, usullar va holat kodlarini hamda REST arxitekturasi tamoyillarini o‘rganasiz. Resurslarga asoslangan, tushunarli va xavfsiz API loyihalashni mashq qilasiz.

2-mavzu / 22 daq o‘qishYangilangan: 27-oktabr, 2026
Mavzular ro‘yxati (2 / 2)

1-bob. Operatsion tizimlar

  1. 1Jarayonlar va oqimlar

2-bob. Tarmoq texnologiyalari

  1. 2HTTP protokoli va REST API

HTTP (HyperText Transfer Protocol) — mijoz (masalan, brauzer) va server o‘rtasida ma’lumot almashishning ilova darajasidagi protokoli. U so‘rov-javob modeliga asoslanadi: mijoz so‘rov yuboradi, server javob qaytaradi; so‘rov usul, manzil (URL), sarlavhalar va ixtiyoriy tanadan iborat. HTTP holatsiz (stateless) bo‘lgani uchun server har bir so‘rovni oldingilaridan mustaqil qayta ishlaydi, foydalanuvchini eslab qolish uchun esa cookie yoki token ishlatiladi. Ulanishni himoyalash uchun HTTP TLS ustida ishlatiladi va bu HTTPS deb ataladi.

Eng ko‘p ishlatiladigan usullar: GET — resursni o‘qish, POST — yangisini yaratish, PUT — resursni to‘liq almashtirish, PATCH — qisman o‘zgartirish va DELETE — o‘chirish. GET xavfsiz hisoblanadi (server holatini o‘zgartirmaydi); GET, PUT va DELETE esa idempotent, ya’ni so‘rovni takrorlash server holatiga qo‘shimcha ta’sir qilmaydi, POST idempotent emas. Javobdagi holat kodi natijani bildiradi: 2xx — muvaffaqiyat (200 OK, 201 Created), 3xx — yo‘naltirish, 4xx — mijoz xatosi (404 Not Found), 5xx — server xatosi (500 Internal Server Error).

REST (Representational State Transfer) — Roy Fielding 2000-yilda doktorlik dissertatsiyasida bayon qilgan arxitektura uslubi. Uning asosiy g‘oyasi: har bir narsa (foydalanuvchi, buyurtma, maqola) resurs bo‘lib, o‘z manziliga ega, masalan /users/42. Resurs ustidagi amal HTTP usuli bilan ifodalanadi: GET /users/42 foydalanuvchini qaytaradi, DELETE /users/42 esa uni o‘chiradi. Resurs odatda JSON formatida uzatiladi, mijoz uning turini Content-Type sarlavhasidan biladi.

REST bir necha cheklovga tayanadi: mijoz va serverning ajratilishi, holatsizlik (har bir so‘rovda zarur ma’lumot to‘liq bo‘ladi), keshlash imkoniyati, yagona interfeys va qatlamli tuzilma. Amalda yaxshi API manzillarida fe’l emas, ot ishlatiladi (/orders, /orders/7), to‘plamlar ko‘plikda nomlanadi va versiya manzilda ko‘rsatiladi (/v1/orders). Xatolar mos holat kodi va tushunarli xabar bilan qaytariladi, autentifikatsiya uchun odatda Authorization sarlavhasidagi token ishlatiladi, aloqa esa HTTPS bilan himoyalanadi.

Asosiy xulosalar

  • HTTP — so‘rov-javob modeliga asoslangan, holatsiz ilova darajasidagi protokol.
  • Usullar (GET, POST, PUT, PATCH, DELETE) resurs ustidagi amalni, holat kodlari (2xx–5xx) esa natijani bildiradi.
  • GET, PUT va DELETE idempotent, POST esa idempotent emas.
  • REST — resurslar, ularning manzillari va yagona interfeysga asoslangan arxitektura uslubi.
  • Yaxshi API ot ishlatadigan manzillar, to‘g‘ri holat kodlari, versiyalash va HTTPS’dan foydalanadi.

Amaliy topshiriqlar

  1. Terminalda curl -i https://example.com buyrug‘ini bajaring va javobdagi holat kodini, Content-Type sarlavhasini hamda yana ikkita sarlavhani tushuntirib bering.
  2. Brauzer DevTools’ning Network bo‘limi ochiq holda istalgan saytni yuklang va kamida uchta so‘rovning usuli, holat kodi hamda hajmini yozib oling.
  3. Kitoblar (books) resursi uchun REST API loyihalang: ro‘yxat, bitta kitob, yaratish, yangilash va o‘chirish amallari uchun HTTP usuli, manzil va kutiladigan holat kodlarini jadvalga yozing.

Mustahkamlash savollari

O‘zingizni sinab ko‘ring: avval o‘ylab ko‘ring, keyin javobni oching.

  1. 1Nima uchun HTTP holatsiz protokol deyiladi?
    Server har bir so‘rovni oldingi so‘rovlardan mustaqil qayta ishlaydi va ular haqida ma’lumot saqlamaydi; sessiya kerak bo‘lsa, cookie yoki token har safar mijoz tomonidan yuboriladi.
  2. 2`PUT` va `POST` usullari o‘rtasidagi farq nima?
    `PUT` aniq manzildagi resursni to‘liq almashtiradi va idempotent; `POST` odatda yangi resurs yaratadi yoki amalni ishga tushiradi va takrorlansa, har safar yangi natija berishi mumkin.
  3. 3`401` va `403` holat kodlari qanday farqlanadi?
    `401` — mijoz autentifikatsiyadan o‘tmagan (kimligi noma’lum), `403` — kimligi ma’lum, lekin resursga kirishga ruxsati yo‘q.

0 / 2 mavzu o‘tildi

Kirib belgilash