Content-Type


Download 86.27 Kb.
bet1/2
Sana02.06.2024
Hajmi86.27 Kb.
#1834911
  1   2
Bog'liq
Документ Microsoft Word


HTML-hujjatlarga boshqa fayllardan matn fragmentlarini qo‘shish imkonini berib, u quyidagi ifoda yordamida amalga oshiriladi:

Bu yerda ma’lum bo‘limning barcha hujjatlariga umumiy qo‘shilish haqida gap bormoqda. Hujjatlar direktoriyasi serverida bir hajmdagi fayl saqlanadi, ammo matn fragmentlari qo‘shilganidan keyin fayl hajmi ortadi, biroq, server klientga faylning avvalgi hajmini ko‘rsatadi. Yangi dastur-kilentlar (Netscape, Mosaic) bunday javobni noto‘g‘ri qayta ishlaydi va axborot aks ettirilmaydi.


Content-Type  maydoni server tomonidan uzatiladigan axborot turini aniqlaydi. Eng ko‘p ishlatiladigan turlar – HTML formatida text/play – oddiy matn va text/html – hujjat. Tarmoqda trafikni kamaytirish uchun axborotni uzatish vaqti va uning serverda o‘zgarish davriyligi bilan bog‘liq bir necha maydonlar mavjud. Date maydoni xabarni uzatish vaqtini aniqlaydi. Ushbu fayl axboroti server statistikasi faylida saqlanadi va tarmoqdan server resurslariga kirishni tahlil qilishda foydalanilishi mumkin.
Expires maydoni resursni foydalanish muddatini aniqlaydi. Agar foydalanish muddati tugagan bo‘lsa, resurs uzatilmasligi kerak. Aniqrog‘i, uni uzatish va qabul qilish mumkin emas. if-Modified-Sience maydoni klient resurslarining nusxalari o‘zgartirilmagan bo‘lsa, uzatilmaslikka mo‘jallangan. Pragma maydoni serverdan serverdan xabarlarni uzatishda foydalaniladi. Ushbu maydonning faqat bitta ma’nosi ma’lum: no-cache – buferda ma’lumotlarni keyinchalik foydalanish uchun saqlashni ma’n qiladi.
Referer maydoni qaysi resursdan resursga havola qilinganligin ko‘rsatishga mo‘ljallangan. Ushbu maydon axboroti yordamida qanday WWW-sahifalarda aniq server joylashganini aniqlash mumkin. Bunga serverga murojaatlar soni, foydalanuvchilar “sifati”, axborotga javob berish vaqti bog‘liqdir. Zaruriyat bo‘lganida, ushbu administratori bilan bog‘lanib, serveringizdagi o‘zgarishlar haqida xabardor qilish mumkin.
Quyidagi tasvirda klient tomonidan so‘rovni uzatish, qayta ishlash va server tomonidan javob uzatilishi jarayonlarini sxematik tarzda ko‘rishingiz mumkin.

2.1-rasm. HTTP orqali klient-server munosabatlari sodda modeli

HTTP orqali uzatilayotgan xabarning strukturasini ko‘rib chiqamiz:


message =
*()
CRLF
[]


= Request-Line | Status-Line
= Field-Name ':' Field-Value

Xabar sarlavhasi va tanasi o‘rtasida bo‘sh satr bo‘lishi shart. Sarlavhalar bir nechta bo‘lishi mumkin:



  • Umumiy sarlavhalar

  • So‘rov sarlavhalari

  • Javob sarlavhalari

  • Asos sarlavhalari

Javob tanasi to‘liq axborotni yoki muvofiq imkoniyat aktivlashtirilgan bo‘lsa (Transfer-Encoding: chunked), uning bir qismini o‘z ichiga olishi mumkin. HTTP/1.1, shuningdek, Transfer-Encoding sarlavhasini qo‘llab-quvvatlaydi.
Umumiy sarlavhalar. Quyida so‘rov va javoblarda ishlatiladigan sarlavhalar keltirilgan:
general-header = Cache-Control
| Connection
| Date
| Pragma
| Trailer
| Transfer-Encoding
| Upgrade
| Via
| Warning

Via sarlavhasi TRACE turidagi so‘rovda foydalanilib, barcha proksi-serverlar tomonidan yangilanadi.


Pragma sarlavhasi xususiy sarlavhalarni sanab chiqish uchun foydalaniladi. Masalan, Pragma: no-cache – bu Cache-Control: no-cache bilan bir xildir. Bu bilan ikkinchi qismda batafsilroq tanishamiz.
Date sarlavhasi ma’lumotlarni va so‘rov/javob vaqtini saqlash uchun foydalaniladi.
Upgrade sarlavhasi protokolni o‘zgartirish uchun ishlatiladi.
Transfer-Encoding Transfer-Encoding: chunked yordamida javobni bir necha fragmentlarga ajratish uchun mo‘ljallanadi. Bu HTTP/1.1 versiyasining yangiligidir.
Asos sarlavhalari. Asos sarlavhalarida kontentning meta-axboroti uzatiladi:

entity-header = Allow


| Content-Encoding
| Content-Language
| Content-Length
| Content-Location
| Content-MD5
| Content-Range
| Content-Type
| Expires
| Last-Modified

Barcha Content prefiksli sarlavhalar stuktura, kodlash va xabar tanasi o‘lchami haqidagi axborotlarni taqdim qiladi.


Expires sarlavhasi asosning tugash vaqti va sanasi ko‘rsatadi. “never expires” belgisi joriy vaqtdan vaqt +1 kodni bildiradi. Last-Modified asosning oxirgi o‘zgartirilgan vaqti va sanasi o‘z ichiga oladi.
Berilgan sarlavhalar yordamida vazifalaringizga kerak bo‘lgan axborotlarni berish mumkin.
So‘rov formati. So‘rov taxminan shunday ko‘rinishga ega:
Request-Line = Method SP URI SP HTTP-Version CRLF
Method = "OPTIONS"
| "HEAD"
| "GET"
| "POST"
| "PUT"
| "DELETE"
| "TRACE"

SP – bu tokenlar o‘rtasidagi ajratkichdir. HTTP versiyasi HTTP-Version da ko‘rsatiladi. Real so‘rov quyidagi ko‘rinishga ega:


GET /articles/http-basics HTTP/1.1
Host: www.articles.com
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
So‘rov sarlavhasining ehtimoliy ro‘yxati:
request-header = Accept
| Accept-Charset
| Accept-Encoding
| Accept-Language
| Authorization
| Expect
| From
| Host
| If-Match
| If-Modified-Since
| If-None-Match
| If-Range
| If-Unmodified-Since
| Max-Forwards
| Proxy-Authorization
| Range
| Referer
| TE
| User-Agent

Accept sarlavhasida qo‘llab-quvvatlanadigan mime turlar, til, simvollar kodlanishi aniqlanadi. From, Host, Referer va User-Agent sarlavhalari klient haqidagi axborotlarni o‘z ichiga oladi. If- prefikslari sharoitlarni yaratishga mo‘ljallangan. Agar shart o‘tmagan bo‘lsa, 304 Not Modified xatosi yuzaga keladi.


Javob formati. Javob formati statusi va sarlavhalar qatori bilan farqlanadi. Status quyidagi ko‘rinishga ega:
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

  • HTTP versiya

  • Status kodi

  • Insonga tushunarli bo‘lgan status xabari

Oddiy status quyidagi ko‘rinishga ega:
HTTP/1.1 200 OK
Javob sarlavhalari quyidagicha bo‘lishi mumkin:
response-header = Accept-Ranges
| Age
| ETag
| Location
| Proxy-Authenticate
| Retry-After
| Server
| Vary
| WWW-Authenticate



  • Age – xabar serverda yaratilgandagi sekundlar

  • ETag MD5 javob o‘zgarishlari va modifikatsiyalarini tekshirish uchun

  • Location qayta yo‘naltirishda ishlatilib, yangi URL adresni o‘z ichiga oladi.

  • Server – hisobot shakllangan serverni aniqlaydi

HTTP trafiklarini aniqlash uchun instrumentlar. HTTP trafikni monitoring qilishning bir necha usullari mavjud:
Eng ko‘p ishlatiladigani bu – Chrome Developers Tools:

Fiddler dan ni “otladchik” sifatida foydalanish mumkin:

HTTP trafikni kuzatish uchun cURL, TCPdump va tshark kerak bo‘ladi.


HTTP - jQuery AJAX bilan ishlash uchun kutubxonalar. jQuery juda keng tarqalganligi bo‘lib, unda AJAX so‘rovlarida HTTP javoblarni qayta ishlash uchun instumentariylar mavjud. jQuery.ajax(settings) haqidagi ma’lumotlarni rasmiy saytdan topish mumkin.
Sozlash ob’ektlarini (settings) uzatish orqali va beforeSend teskari chaqiriq funksiyasidan foydalanib, setRequestHeader() usulidan foydalanib, so‘rov sarlavhalarini berish mumkin.
$.ajax({
url: 'http://www.articles.com/latest',
type: 'GET',
beforeSend: function (jqXHR) {
jqXHR.setRequestHeader('Accepts-Language', 'en-US,en');
}
});

jqXHR ob’ektini jqXHR.getResponseHeader() usuli orqali o‘qish mumkin.


Agar so‘rov statusini qayta ishlamoqchi bo‘lsangiz, buni quyidagicha amalga oshirish mumkin:
$.ajax({
statusCode: {
404: function() {
alert("page not found");
}
}
});


Download 86.27 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling