HTTP metodlari
HTTP nima?
Hypertext Transfer Protocol (HTTP) mijozlar va serverlar o‘rtasidagi muloqotni ta’minlash uchun loyihalangan.
HTTP mijoz va server o‘rtasidagi so‘rov-javob protokoli sifatida ishlaydi.
Misol: Mijoz (brauzer) serverga HTTP so‘rov yuboradi; so‘ngra server mijozga javob qaytaradi. Javob so‘rov haqidagi holat ma’lumotlarini o‘z ichiga oladi va so‘ralgan kontentni ham o‘z ichiga olishi mumkin.
HTTP metodlari
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
- CONNECT
- TRACE
Eng ko‘p ishlatiladigan ikkita HTTP metodi: GET va POST.
GET metodi
GET belgilangan resursdan ma’lumot so‘rash uchun ishlatiladi.
E’tibor bering, query string (nom/qiymat juftliklari) GET so‘rovining URL manzilida yuboriladi:
/test/demo_form.php?name1=value1&name2=value2
GET so‘rovlari haqida ba’zi eslatmalar:
- GET so‘rovlari keshlanishi mumkin
- GET so‘rovlari brauzer tarixida qoladi
- GET so‘rovlari xatchaenga (bookmark) qo‘shilishi mumkin
- GET so‘rovlari maxfiy ma’lumotlar bilan ishlaganda hech qachon ishlatilmasligi kerak
- GET so‘rovlarida uzunlik cheklovlari bor
- GET so‘rovlari faqat ma’lumot so‘rash uchun ishlatiladi (o‘zgartirish uchun emas)
POST metodi
POST serverga resurs yaratish/yangilash uchun ma’lumot yuborishda ishlatiladi.
POST yordamida serverga yuborilgan ma’lumot HTTP so‘rovining so‘rov tanasida (request body) saqlanadi:
POST /test/demo_form.php HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
POST so‘rovlari haqida ba’zi eslatmalar:
- POST so‘rovlari hech qachon keshlanmaydi
- POST so‘rovlari brauzer tarixida qolmaydi
- POST so‘rovlari xatchaenga (bookmark) qo‘shilishi mumkin emas
- POST so‘rovlarida ma’lumot uzunligi bo‘yicha cheklovlar yo‘q
GET va POST taqqoslash
Quyidagi jadval GET va POST deb atalgan ikkita HTTP metodini solishtiradi.
| GET | POST | |
|---|---|---|
| BACK button/Reload | Harmless | Ma’lumotlar qayta yuboriladi (brauzer foydalanuvchini ma’lumotlar qayta yuborilishi haqida ogohlantirishi kerak) |
| Bookmarked | Xatcho‘pga qo‘shish mumkin | Xatcho‘pga qo‘shib bo‘lmaydi |
| Cached | Keshlanishi mumkin | Keshlanmaydi |
| Encoding type | application/x-www-form-urlencoded | application/x-www-form-urlencoded yoki multipart/form-data. Ikkilik ma’lumotlar uchun multipart kodlashdan foydalaning |
| History | Parametrlar brauzer tarixida qoladi | Parametrlar brauzer tarixida saqlanmaydi |
| Ma’lumotlar uzunligiga cheklovlar | Ha, ma’lumotlarni yuborishda GET usuli ma’lumotlarni URL manziliga qo‘shadi; va URL uzunligi cheklangan (maksimal URL uzunligi 2048 belgidan iborat) | No restrictions |
| Ma’lumotlar turiga cheklovlar | Faqat ASCII belgilariga ruxsat beriladi | Cheklovlar yo‘q. Ikkilik ma’lumotlarga ham ruxsat beriladi |
| Security | GET POST bilan solishtirganda xavfsizroq, chunki yuborilgan ma’lumotlar URL-manzilning bir qismidir. Hech qachon parollar yoki boshqa maxfiy ma’lumotlarni yuborishda GET-dan foydalanmang! | POST GETga qaraganda biroz xavfsizroq, chunki parametrlar brauzer tarixida yoki veb-server jurnallarida saqlanmaydi. |
| Visibility | Ma’lumotlar URL manzilidagi hammaga ko‘rinadi | Ma’lumotlar URL manzilida ko‘rsatilmaydi |
PUT metodi
PUT serverga resurs yaratish/yangilash uchun ma’lumot yuborishda ishlatiladi.
POST va PUT o‘rtasidagi farq shundaki, PUT so‘rovlari idempotentdir. Ya’ni, bir xil PUT so‘rovini bir necha marta chaqirish har doim bir xil natija beradi. Aksincha, POST so‘rovini takroriy chaqirish bir xil resursni bir necha marta yaratish kabi yon ta’sirlarga olib keladi.
HEAD metodi
HEAD GET ga deyarli bir xil, lekin javob tanasisiz.
Boshqacha aytganda, agar GET /users foydalanuvchilar ro‘yxatini qaytarsa, HEAD /users bir xil so‘rovni bajaradi, lekin foydalanuvchilar ro‘yxatini qaytarmaydi.
HEAD so‘rovi haqiqiy GET so‘rovini yuborishdan oldin u nima qaytarishini tekshirish uchun foydalidir - HEAD so‘rovi faylni haqiqiy yuklamasdan Content-Length sarlavhasini o‘qib fayl o‘lchamini tekshirishi mumkin.
DELETE metodi
DELETE metodi belgilangan resursni o‘chiradi.
PATCH metodi
PATCH metodi resursga qisman o‘zgartirishlar kiritish uchun ishlatiladi.
OPTIONS metodi
OPTIONS metodi maqsadli resurs uchun muloqot variantlarini tasvirlaydi.
CONNECT metodi
CONNECT metodi so‘ralgan resurs bilan ikki tomonlama muloqotni (tunnel) boshlash uchun ishlatiladi.
TRACE metodi
TRACE metodi maqsadli resurs yo‘lini sinovdan o‘tkazadigan xabar qaytish (loop-back) testini bajarish uchun ishlatiladi (xatoliklarni topish maqsadida foydali).
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
