Skip to content

Instantly share code, notes, and snippets.

@AbduvaliMamatov
Last active July 24, 2025 04:30
Show Gist options
  • Select an option

  • Save AbduvaliMamatov/bf70389d3371031af7f7f72b4aea84bd to your computer and use it in GitHub Desktop.

Select an option

Save AbduvaliMamatov/bf70389d3371031af7f7f72b4aea84bd to your computer and use it in GitHub Desktop.
HTTP Verbs

🌐 HTTP So‘rov Turlari: Asosiy 5 Usul (GET, POST, PUT, PATCH, DELETE)

HTTP (HyperText Transfer Protocol) — veb ilovalar mijoz (foydalanuvchi) va server o‘rtasida ma’lumot almashish uchun ishlatadigan asosiy protokoldir.

Bu protokolda ma’lumot bilan ishlash HTTP verblar (yoki metodlar) orqali bajariladi.


📘 1. GETMa’lumotni olish

🔹 GET metodi ma’lumotni so‘rash uchun ishlatiladi. U resursni o‘zgartirmaydi, faqat o‘qiydi.
📌 GET xavfsiz va tez-tez ishlatiladi.

✍️ Misol:

GET /api/yangiliklar HTTP/1.1

✍️ 2. POSTYangi ma’lumot yuborish

🆕 POST — serverga yangi resurs yaratish uchun ishlatiladi.
💡 Har POST so‘rovi — bu yangi yozuv.

✍️ Misol:

POST /api/kitoblar

{
  "nomi": "O‘tkan kunlar",
  "muallif": "A. Qodiriy"
}

🔁 3. PUTTo‘liq yangilash

♻️ PUT mavjud ma’lumotni butunlay almashtiradi.
👉 Eski ma’lumot o‘chadi, yangisi o‘rniga yoziladi.

✍️ Misol:

PUT /api/kitoblar/1

{
  "nomi": "Yangi nom",
  "muallif": "Yangi muallif"
}

🧩 4. PATCHQisman yangilash

✏️ PATCH — resursning faqat kerakli qismini o‘zgartiradi.
💡 PUT ga qaraganda yengilroq va moslashuvchanroq.

✍️ Misol:

PATCH /api/kitoblar/1

{
  "nomi": "Yangi nom"
}

🗑️ 5. DELETEResursni o‘chirish

🗑️ DELETE — ko‘rsatilgan resursni butunlay yo‘q qiladi.
📌 Bu amal ehtiyotlik bilan bajarilishi kerak.

✍️ Misol:

DELETE /api/kitoblar/3

🧮 Jadval: HTTP so'rov turlarining qiyosiy tahlili

Verb Amal turi Xavfsizmi? Idempotentmi?
GET Ma’lumot o‘qish ✅ Ha ✅ Ha
POST Yaratish ❌ Yo‘q ❌ Yo‘q
PUT To‘liq yangilash ❌ Yo‘q ✅ Ha
PATCH Qisman yangilash ❌ Yo‘q ❌ Yo‘q
DELETE O‘chirish ❌ Yo‘q ✅ Ha

🧠 HTTP so'rov turlari bilan ma'lumot almashinish diagrammasi

flowchart TD
    subgraph Client [👨‍💻 Mijoz]
        A1[GET: Ma'lumotni olish]
        A2[POST: Yangi ma'lumot yuborish]
        A3[PUT: To‘liq yangilash]
        A4[PATCH: Qisman yangilash]
        A5[DELETE: O‘chirish]
    end

    subgraph Server [🖥️ Server - REST API]
        B1[🔍 Resursni o‘qish]
        B2[📥 Resursni yaratish]
        B3[♻️ Resursni almashtirish]
        B4[✏️ Resursni tahrirlash]
        B5[🗑️ Resursni o‘chirish]
    end

    A1 -->|GET /posts| B1
    A2 -->|POST /posts| B2
    A3 -->|PUT /posts/1| B3
    A4 -->|PATCH /posts/1| B4
    A5 -->|DELETE /posts/1| B5

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment