296
HTTP protokolining tavsifi RFC 1945 va RFC 2616
hujjatlarda yoritilgan
bo’lib, bu protokol klient va server o’rtasida axborot almashishi uchun
mo’ljallangan xabarlar formatini aniqlaydi. HTTP da ikki turdagi xabar mavjud:
so’rov va javob, ular quyida ko’rib chiqiladi.
22.4.1. Xabar – so’rov
HTTP protokolining tipik so’rov-xabari quyidagi ko’rinishga ega:
GET /somedig/page.html HTTP/1.1
Host:
www.someschool.edu
Connection:
close
User-agent:
Mozilla/5.0 Accept-language:fr
Xabar ASCII kodirovkada inson uchun tushunarli matnli simvollar
yig’indisidan iborat. Xabar 5 qatordan iborat bo’lib, yangi qatorga o’tish uchun har
biri juft
simvollar bilan tugallanadi, oxirgi qator belgilangan simvollarning
qo’shimcha juftligi. Umumiy holda xabar qatorlari 5 tadan ortiq va undan kam
bo’lishi ham mumkin. Birinchi qator so’rov qatori,
keyingi qatorlar sarlavha
qatorlari deyiladi. So’rov qatori uch maydondan iborat: usul maydoni, URL
maydoni, HTTP versiyasi maydoni. Usul maydoni turli qiymatlarni, masalan,
GET, POST va HEAD larni qabul qilish mumkin.
GET usuli HTTP protokoli
doimiy ishlatiladigan usul hisoblanadi va talab etiladigan ob’yekt URL-adresi
bilan
identifikatsiyalanganda
ishlatiladi.
Keltirilgan
xabarlar
/somedir/page.htmlURL-adresidan iborat. HTTP versiyasi maydoni qo’shimcha
ta’riflarni talab etmaydi va bizning misolimizda HTTP/1.1 yozuvidan iborat.
Endi sarlavha qatorini ko’rib chiqamiz. Host qatori:
www.someschool.edu
xost adresidan iborat bo’lib, unda ob’yekt joylashadi. Connection qatori
297
yordamida: close brauzer serveriga doimiy ulanishni ishlatmaslik kerakligi haqida
xabarlar beradi va o’rnatilgan TCP-ulanish talab etiladigan ob’yekt uzatilgandan
keyin darhol yopilishi kerak. E’tibor
berish kerakki, unda brauzer HTTP
protokolining 1.1 versiyasini qo’llab-quvvatlaydi. TheUser-agent qatorida:
foydalanuvchi ob’yekti, ya’ni so’rov generatsiyalaydigan brauzer turi ko’rsatilgan.
Aniq misolni kurib chiqqach, endi so’rovning umumiy formatiga o’tamiz
(25.3-rasm). Ko’rish
mumkinki, misol bu formatga to’liq mos keladi: sarlavha
qatori va bo’sh qatordan keyin xabar formati xabar tanasini mavjudligini nazarda
tutadi. Xabar tanasi GET ishlatilganda bo’sh qoladi va POST usuli ishlatilganda
to’ladi. POST usuli foydalanuvchi formani to’ldirganda
ishlatiladi, masalan,
qidiruv tizimida izlash uchun so’zni kiritish. Formaning to’ldirilishi so’rov
generatsiyasiga olib keladi. Web-sahifa tarkibi formalarga kiritilgan ma’lumotlarga
bog’liq. Shunday qilib, agar usul maydoni POST qiymatidan iborat bo’lsa xabar
tanasida formalarga kiritilgan ma’lumotlar mavjud bo’ladi.
22.3-rasm. So’rov-xabarning umumiy formati
Qayd etib o’tish kerakki, formalar yordamida yaratilgan so’rovlarda har
doim ham POST usuli qo’llanilmaydi. Teskari
HTML-formalari GET usulida
doimiy ishlatiladi va kiritilgan qiymatlarni kerakli sahifasini URL-adresiga
qo’yadi.
298
HEAD usuli GET metodi bilan o’xshash. HEAD usuli bilan so’rov
olinganda server javobni shakllantiradi, biroq ob’yektni qayta jo’natish
amalga
oshirilmaydi. Ilovalarni yaratuvchilar ko’pincha HEAD usuli xatoliklarni tuzatish
uchun ishlatishadi.
HTTP/1.0 spesifikatsiyasida faqat uch usul: GET, POST va HEAD
belgilangan. HTTP/1.1 spesifikatsiyasi usullar majmuasidan iborat bo’lib, PUT va
DELETE ham kiradi. PUT usuli web-nashr vositalarida ishlatiladi va ob’yektni
belgilangan URL-adres bilan web-serverga joylashtirish imkonini beradi, DELETE
usuli – ob’yektni o’chirish, web- serverda joylashadi.