Qisqacha:
HTTP - gipermatnlarni uzatish protokoli. Boshida asosan HTML fayllarni uzatish uchun o'ylangan. HTTP uchun asosan 80 yoki 8080 portlardan foydalaniladi (lekin boshqa port bulishi ham mumkin).
Brauzer orqali biror sayt adresini yozganimizda usha sayt joylashgan serverdagi web server dasturi (masalan Apache) va brauzer HTTP protokolidan foydalanib ma'lumot almashadi. Brauzer http "tilida" so'rasa, web server unga shu "tilda" javob qaytaradi.
Brauzer va web server o'rtasidagi bunday aloqa klient-server texnologiyasiga yaqqol misoldir.
Xo'sh, brauzer (yoki boshqa klient dastur) serverdan nimalarni "so'raydi" va qanday "so'raydi"?
1. Habarning birinchi qatori - Habar turini bildirish uchun (bu qism HTTP paketda albatta bo'lishi shart, chunki busiz habar turini bilib bo'lmaydi) 2. Parametrlar va qo'shimcha ma'lumotlardan iborat qism (header lar) (shart bo'lmagan qism) 3. Habar tanasi, ya'ni asosiy ma'lumot (shart bo'lmagan qism)
HTTP habarning birinchi qatori (habar turini bildirish uchun) Klient (brauzer) uchun quyidagicha bo'ladi: {Habar turi} {Manzil} HTTP/{HTTP versiyasi}
bu yerda: {Habar turi} - GET, PUT, HEAD va boshqa habar turi nomlari, {Manzil} - so'ralayotgan resurs manzili, {HTTP versiyasi} - nomi aytib turganidek habarning qaysi HTTP versiyasi uchun jo'natilayotganini bildiradi (masalan 1.1)
Deylik: biz brauzerda http://coding.uz/index.php deb yozsak, brauzer avval coding.uz ga mos IP manzilga bog'lanadi (DNS haqida keyinroq). Undan so'ng ushbu bog'lanish bo'ylab GET /index.php HTTP/1.1 ko'rinishdagi HTTP so'rov jo'natadi (HTTP so'rovning qolgan qismlari hozircha yozilmagan)
bunda: "GET" - habar turi, sodda qilib aytganda "manavini bergin" deganini bildiradi )) "/index.php" - so'ralayotgan resurs, "HTTP/1.1" - http protokol versiyasi
Endi klientning (brauzer) bunday savoliga javoban serverdan quyidagicha ko'rinishda javob keladi: HTTP/{HTTP versiyasi} {Holat kodi} {Holat izohi} Bu yerda: {Holat kodi} - berilgan so'rov bajarilganligi yoki biror hatolik bo'lganligini bildiruvchi kod. {Holat izohi} - {Holat kodi} ning matnli ko'rinishi, izohi yuqoridagi so'rovning aniq ko'rinishi quyidagicha bo'lishi mumkin:
HTTP/1.1 200 OK
kabi bo'ladi Bunda: 1.1 - http versiyasi, 200-bu holat kodi, OK - izoh
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Комментарии 10
HTTP - gipermatnlarni uzatish protokoli. Boshida asosan HTML fayllarni uzatish uchun o'ylangan. HTTP uchun asosan 80 yoki 8080 portlardan foydalaniladi (lekin boshqa port bulishi ham mumkin).
Xo'sh, brauzer (yoki boshqa klient dastur) serverdan nimalarni "so'raydi" va qanday "so'raydi"?
1. Habarning birinchi qatori - Habar turini bildirish uchun (bu qism HTTP paketda albatta bo'lishi shart, chunki busiz habar turini bilib bo'lmaydi)
2. Parametrlar va qo'shimcha ma'lumotlardan iborat qism (header lar) (shart bo'lmagan qism)
3. Habar tanasi, ya'ni asosiy ma'lumot (shart bo'lmagan qism)
Klient (brauzer) uchun quyidagicha bo'ladi:
{Habar turi} {Manzil} HTTP/{HTTP versiyasi}
bu yerda: {Habar turi} - GET, PUT, HEAD va boshqa habar turi nomlari, {Manzil} - so'ralayotgan resurs manzili, {HTTP versiyasi} - nomi aytib turganidek habarning qaysi HTTP versiyasi uchun jo'natilayotganini bildiradi (masalan 1.1)
Deylik: biz brauzerda http://coding.uz/index.php deb yozsak, brauzer avval coding.uz ga mos IP manzilga bog'lanadi (DNS haqida keyinroq). Undan so'ng ushbu bog'lanish bo'ylab
GET /index.php HTTP/1.1
ko'rinishdagi HTTP so'rov jo'natadi (HTTP so'rovning qolgan qismlari hozircha yozilmagan)
"GET" - habar turi, sodda qilib aytganda "manavini bergin" deganini bildiradi ))
"/index.php" - so'ralayotgan resurs,
"HTTP/1.1" - http protokol versiyasi
Endi klientning (brauzer) bunday savoliga javoban serverdan quyidagicha ko'rinishda javob keladi:
HTTP/{HTTP versiyasi} {Holat kodi} {Holat izohi}
Bu yerda: {Holat kodi} - berilgan so'rov bajarilganligi yoki biror hatolik bo'lganligini bildiruvchi kod.
{Holat izohi} - {Holat kodi} ning matnli ko'rinishi, izohi
yuqoridagi so'rovning aniq ko'rinishi quyidagicha bo'lishi mumkin:
HTTP/1.1 200 OK
kabi bo'ladi
Bunda: 1.1 - http versiyasi, 200-bu holat kodi, OK - izoh
HTTP/1.1 404 Not Found
kabi javob qaytargan bo'lar edi.