6.1 Sarlavha turlari
HTTP so'rov sarlavhalari - bu, aslida, http-mijoz va http-server uchun xizmat ma'lumotlari. Lekin ular juda muhim va agar sen ularga hech qanday qiziqish bildirmagan bo'lsang, bu seni doimo qiyinchilikka olib kelishi mumkin. Shunday qilib, hech bo'lmaganda ularni o'qib chiqishga to'g'ri keladi.
Barcha http sarlavhalari 4 asosiy guruhga bo'linadi:
| # | Sarlavha turi | Tavsif | Eslatma |
|---|---|---|---|
| 1 | General Headers | Umumiy sarlavhalar | So'rovlar va javoblarda ishlatiladi |
| 2 | Request Headers | So'rov sarlavhalari | Faqat so'rovlarda ishlatiladi |
| 3 | Response Headers | Javob sarlavhalari | Faqat javoblarda ishlatiladi |
| 4 | Entity Headers | Subyekt sarlavhalari | Har bir xabar subyektiga qo'shiladi |
6.2 User-Agent
Eng muhim va mashhur sarlavha – bu User-Agent. Bu maxsus qator bo'lib, qaysi mijoz serverga so'rov qilyapti, shuni tushuntiradi. Mijoz nomi, shunday qilib aytganda.
Ko'pincha server biroz o'z javobini talabgorga moslashtiradi. Masalan, agar so'rovdan kitobcha keldi degan ma'lumot olingan bo'lsa, mobil qurilmaga mos html sahifa bersa bo'ladi.
Spam-botlar, yuklab olish menejerlari va ayrim brauzerlar tez-tez soxta User-Agent qatorlar yuborib, o'zlarini solih mijozlar ko'rsatishadi. Bu holat user agent spoofing, ya'ni foydalanuvchi agentini o'zgartirish yoki soxtalashtirish deb nomlanadi.
Masalan, mening User-Agent hozirda quyidagicha ko'rinadi:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Unda brauzer, operatsion tizim va web-mexanizm haqida ma'lumot mavjud.
6.3 Content-Type
Ikkinchi eng mashhur sarlavha – bu Content-Type. U server qaytaradigan resursning MIME turini aniqlash uchun ishlatiladi.
Internetning erta bosqichida qulaylik uchun uzatiladigan media kontent turlari standartlashtirilgan. Ularni Internet Media Types yoki qisqacha MimeTypes deb atashadi. Ular 9 toifaga bo'linadi:
- application
- audio
- example
- image
- message
- model
- multipart
- text
- video
Misollar:
| Kategoriya | Tur | Tavsif |
|---|---|---|
| audio | audio/mp4 | mp4 formatidagi audio fayli |
| audio/aac | AAC formatidagi audio fayli | |
| image | image/gif | gif rasm |
| image/jpeg | jpeg rasm | |
| image/png | png rasm | |
| text | text/css | CSS fayli |
| text/html | HTML fayli | |
| video | video/mpeg | mpeg formatidagi video fayli |
| video/webm | webm formatidagi video fayli | |
| video/3gpp | 3gpp formatidagi video fayli | |
| application | application/x-www-form-urlencoded | Kodlangan ma'lumotlar |
| application/zip | Zip arxivi | |
| application/javascript | JavaScript | |
| application/xml | XML |
Odatda server qanday ma'lumotlarni qaytarishini biladi. Lekin agar sen serverni o'z koding orqali javobni o'zing yaratgan bo'lsang, unda javob turi (Content-Type) ni belgilashing kerak.
6.4 Content-Length
Bu sarlavha server javobining uzunligini belgilaydi. Oddiy qilib aytganda, yuklanadigan faylning hajmi. Bu parametrni qo'l bilan o'rnatish shart emas. Ammo, agar biror sababga ko'ra javob to'liq kelmasa, server nima berganini ko'rib chiqish foydali bo'lishi mumkin.
6.5 Accept-Encoding
Bu sarlavha yordamida mijoz serverga turli xil kontent siqish algoritmlarini qo'llab-quvvatlashini aytishi mumkin. Shunday qilib, server kontentni avval zip arxiviga siqib, keyin uni mijozga yuborishi mumkin va mijoz uni to'g'ri tiklashi mumkin.
Arxivlashning afzalligi shundaki, fayl qancha kichik bo'lsa, u shuncha tez uzatiladi. Arxivlashning kamchiliklari - mijoz va serverga qo'shimcha yuk. Arxivlash katta fayllarni uzatishda ma'noga ega va kichik fayllarni uzatishda ko'pincha ma'nosiz.
Shunday sarlavha namunasi:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
Bu yerda deflate va gzip - ma'lumotlarni siqish algoritmlari, q esa siqilish darajasini bildiradi.
GO TO FULL VERSION