HTTP metodlari


ULASHISH

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!