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 server
ga
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. POST
ni 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.
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.). |