4.1 HTTP-metodlar ro'yxati
HTTP-so'rovining dastlabki so'zi metod nomi bo'ladi. Bu hatto Java'dagi metod chaqiruvi bilan o'xshashlik bor. HTTP-so'rovidagi metod resursga bajarilishi kerak bo'lgan asosiy operatsiyani belgilaydi.
Qaysi resursga? Veb boshlangan paytda serverlar faqat HTML-fayllarni saqlashardi, shuning uchun so'rov shunday faylga qilingan va resurs/fayl bilan amalga oshirilishi kerak bo'lgan ba'zi harakatni tasvirlagan.
HTTP standarti quyidagi metodlarni belgilaydi:
| # | Metod | Ta'rif |
|---|---|---|
| 1 | GET | Ko'rsatilgan resursning mazmunini so'rash uchun ishlatiladi. |
| 2 | POST | Ma'lumotlarni mijozdan serverga o'tkazish uchun ishlatiladi. Serverdagi resursning holatini o'zgartiradi. |
| 3 | PUT | Ma'lumotlarni mijozdan serverga o'tkazish uchun ishlatiladi. Serverda yangi resurs yaratadi. |
| 4 | DELETE | Serverda ko'rsatilgan resursni o'chiradi. |
| 5 | HEAD | GET'ga o'xshaydi, lekin javobning tanasi yo'q. Javob sarlavhalarini olish uchun kerak |
| 6 | OPTIONS | Serverdan ko'rsatilgan resurs uchun qo'llab-quvvatlanadigan metodlar ro'yxatini so'raydi. |
| 7 | TRACE | Xizmat metodi. So'rov o'tgan serverlar uni o'zgartirmaganligini bilish imkonini beradi. |
| 8 | CONNECT | Xizmat metodi. Himoyalangan ulanish o'rnatish uchun ishlatiladi. |
4.2 GET metodi
GET metodi — eng mashhur HTTP-metod. Odatda brauzer serverga keyingi sahifa uchun so'rov yuborganda aynan shu metodni chaqiradi.
Masalan, siz brauzerda http://javarush.com/path/resource?param1=value1¶m2=value2, havolasiga o'tdingiz, — shunda brauzer JavaRush serveriga HTTP-so'rov yuboradi, u starting line bilan boshlanadi:
GET /path/resource?param1=value1¶m2=value2 HTTP/1.1
Natijada server brauzerga HTTP-javob yuborishi kerak bo'ladi, u so'rov holatini yozadi va so'ralgan resursni yuboradi.
GET metodining ko'p marta chaqirilishi serverning holatini o'zgartirmasligi va server har safar bir xil javob qaytarishi kerak. Shuning uchun protokolda kesh obyektining murakkab boshqaruvi qo'shilgan.
Birinchidan, GET so'rovi orqali olingan resurslarni brauzer o'z tarafida kesh qilishi mumkin (ba'zi nuanslar bor).
Ikkinchidan, serverga so'rov yuborishda maxsus sarlavha If-Modified-Since va sana ko'rsatish mumkin. Agar so'ralgan resurs/hujjat ko'rsatilgan sanadan beri o'zgargan bo'lsa, server uni yuboradi. O'zgarmagan bo'lsa, resursning tanasi uzatilmaydi. Shunday tushuniladi ki, u mijozda kesh qilingan.
Sahifalarni kesh qilish (GET so'rovlari) doimiy ravishda ishlatiladi, shuning uchun ushbu mavzuni yaxshilab o'rganish tavsiya etiladi.
4.3 POST va PUT metodlari
POST metodi serverdagi resursni o'zgartirish uchun ishlatiladi. Masalan, siz rasmni serverga yuklayotganingizda, brauzeringiz POST so'rovini yuboradi.
Ushbu starting line bilan boshlanadigan HTTP-so'rovni ko'rib chiqamiz:
POST /path/resource?param1=value1¶m2=value2 HTTP/1.1
headers…
<request body>
Natijada server brauzerga HTTP-javob yuborishi kerak bo'ladi, u so'rov holatini yozadi va o'zgartirilgan resursni yuboradi. POST metodining ko'p marta chaqirilishi serverning holatini o'zgartiradi va server har safar turli javob qaytarishi mumkin.
GET va POST — vebda eng ko'p ishlatiladigan ikki so'rov. Metodlar qanday ishlashini eslab qolishingiz uchun quyidagi jadvalni ko'rib chiqamiz:
| GET | POST | PUT | |
|---|---|---|---|
| So'rov | Faqat URL | URL va tanasi | URL va tanasi |
| Javob | Kod va tanasi | Kod va tanasi | Kod javobi |
POST so'rovi haqida batafsil ma'lumotni bu yerda o'qishingiz mumkin.
4.4 DELETE metodi
Nihoyat, DELETE metodi haqida ma'lumot. Bu yerda hammasi oddiy.
Masalan, biz serverda ma'lum bir resursni o'chirishni xohlaymiz. Unga quyidagi turdagi so'rov yuboramiz:
DELETE /path/resource?param1=value1¶m2=value2 HTTP/1.1
Ushbu so'rovni qabul qilganidan so'ng server ko'rsatilgan resursni o'chiradi. Agar, albatta, uni o'chirish uchun sizda ruxsat bo'lsa.
GO TO FULL VERSION