Skip to content

HTTP nima?

HTTP nima?

Gipermatnni uzatish protokoli (Hypertext Transfer Protocol - HTTP) Butunjahon Internet tarmog'ining(www) asosi bo'lib, gipermatnli havolalar yordamida veb-sahifalarni yuklash uchun ishlatiladi. HTTP - bu tarmoqqa ulangan qurilmalar o'rtasida ma'lumot uzatish uchun mo'ljallangan protokol.

HTTP so'rov nima?

HTTP o'z vazifasini bajarishi uchun mijoz va server mashinalari kerak bo'ladi. Mijoz mashinasidan, misol uchun brauzeridan biror sayt serveriga so'rov yuboradi. Natijada server mijoz mashinasiga javobni gipermatn ko'rinishida qaytaradi.

Hozirgi vaqtda barcha qurulmalarda HTTP bilan bog'liq funksiyalari mavjud, misol uchun smartfonlar, aqlli televezorlar, aqlli soatlar, kuzatuv kameralari barchasida HTTP protokol qo'llaniladi. Siz har kuni foydalanadigan telefoningiz ob-havo ma'lumotlarni ko'rsatish yoki yangilash uchun ob-havo ma'lumotlari saqlanadigan serverga HTTP so'rov yuboradi, server esa bugungi ob-havo ma'lumotini javob sifatida qaytaradi, natijani telefongiz qabul qiladi va ekranda ko'rsatadi. Bu HTTP kichik misol bo'loladi. HTTP bilan video, rasm va boshqa turdagi ma'lumotlarni yuborish va qabul qilish ham mumkin.

HTTP method nima?

HTTP method harakat turini bildiradi, mijoz serverga so'rov yuborayotgan vaqtda qanday harakat bilan yuborayotganini ham aytishi kerak bo'ladi. Eng ko'p keng tarqalgan HTTP methodlar GET va POST bo'lib, GET serverdan ma'lumot olish uchun. Masalan, biror yangiliklar saytiga kirganingzda odatda siz yangiliklarni GET so'rovi bilan olasiz. POSTni esa ko'p hollarda serverga ma'lumot yuborish uchun qo'llashadi. Masalan, biror tizimga login va parolingiz bilan kirayotganingizda POST so'rovi yuboriladi.

HTTP methodlar

Metod Vazifasi Xavfsiz Idempotent
GET Ma'lumot olish ✅ Ha ✅ Ha
POST Yangi ma'lumot yaratish ❌ Yo‘q ❌ Yo‘q
PUT Ma'lumotni to‘liq yangilash ❌ Yo‘q ✅ Ha
PATCH Ma'lumotni qisman yangilash ❌ Yo‘q ❌ Yo‘q
DELETE Ma'lumotni o‘chirish ❌ Yo‘q ✅ Ha
HEAD Faqat headerlarni olish (GET kabi, lekin body yo‘q) ✅ Ha ✅ Ha
OPTIONS Mavjud metodlarni aniqlash ✅ Ha ✅ Ha
TRACE So‘rovni tekshirish va qaytarish ✅ Ha ✅ Ha
  • Xavfsiz metodlar ma'lumotni o‘zgartirmaydi.
  • Idempotent metodlar bir necha marta chaqilganda natija o‘zgarmaydi.

HTTP header nima?

HTTP Header – bu so‘rov (request) va javob (response) tarkibidagi qo‘shimcha ma’lumotlar to‘plami bo‘lib, server va mijoz (client, brauzer, API) o‘rtasidagi aloqa jarayonini boshqaradi. Har bir header kalit: qiymat formatida yoziladi.

Header mijoz qismiga misol:

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: text/html
Authorization: Bearer token123
Content-Type: application/json

Header server qismiga misol:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 120
Set-Cookie: session_id=abc123; HttpOnly
Cache-Control: no-cache
Server: Nginx

HTTP Header – so‘rov va javob haqidagi qo‘shimcha ma’lumotlarni olish uchun xizmat qiladi.

  • Request headers – mijozdan serverga (masalan, User-Agent, Authorization).
  • Response headers – serverdan mijozga (masalan, Content-Type, Set-Cookie).

HTTP query params nima?

HTTP Query Params (So‘rov parametrlari) – bu URL orqali serverga qo‘shimcha ma'lumot yuborish usuli. Ular GET so‘rovlarida keng qo‘llaniladi va URLning "?" belgisi dan keyin keladi. Har bir parametr "kalit=qiymat" formatida yoziladi, parametrlar "&" bilan ajratiladi.

curl -X GET https://example.com/search?query=python&page=2

Bu URL quyidagicha o‘qiladi:

  • Asosiy URL: https://example.com/search
  • Query Params: query=python&page=2
  • query → python (qidirilayotgan so‘z)
  • page → 2 (ikkinchi sahifa)

HTTP body nima?

HTTP Body – bu HTTP so‘rovi (request) yoki javobining (response) asosiy ma'lumotlarini o‘z ichiga olgan qismidir. GET so‘rovlarida odatda body bo‘lmaydi, lekin POST, PUT, PATCH va DELETE so‘rovlarida body orqali serverga ma'lumot yuboriladi.

POST /login HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 45

{
    "username": "user",
    "password": "secret"
}

GET va POST farqlari

Xususiyat GET POST
Ma'lumot yuborish usuli URL query string (?key=value) orqali yuboriladi. So‘rov tanasida (body) yuboriladi.
Ma'lumot ko‘rinishi Brauzer manzil satrida ochiq ko‘rinadi. Yashirin bo‘ladi, manzil satrida ko‘rinmaydi.
Ma'lumot hajmi Cheklangan (URL uzunligi serverga bog‘liq, odatda 2048 ta belgi atrofida). Cheklanmagan (server sozlamalariga bog‘liq).
Keshlash (Cache) Keshlanishi mumkin (brauzer yoki proksi tomonidan saqlanishi mumkin). Odatda keshlanmaydi.
Xavfsizlik Xavfsiz emas, URL orqali parollar yoki maxfiy ma'lumot yuborish tavsiya etilmaydi. Nisbatan xavfsizroq, chunki ma'lumot URL’da ko‘rinmaydi.
Idempotentlik Idempotent – bir necha marta bajarilganda natija o‘zgarmaydi. Idempotent emas – har safar yangi resurs yaratilishi yoki ma'lumot o‘zgarishi mumkin.
Qo‘llanilishi Ma'lumot olish (sayt sahifasi, rasm, video, JSON va h.k.). Ma'lumot jo‘natish (foydalanuvchi formasi, login, fayl yuklash va h.k.).