Favicon orqali veb sahifani yashirish: kichik hajmdagi ma'lumotlarni qanday saqlash mumkin
20-iyun, 2026, 10:090 ko'rish3 daqiqa o'qish
Har bir veb‑saytning brauzer tabida ko'rinadigan kichik ikonka – favicon – odatda foydalanuvchi tomonidan eʼtiborsiz qoldiriladi. Ammo bu ikonka aslida oddiy PNG tasvir bo'lib, har bir piksel uchta rang (RGB) kanaliga ega va har bir kanal bir baytga teng. Shunday qilib, favicon ham ma'lumotlarni yashirish uchun kichik bir xotira bo'lishi mumkin.
Steganografiya va favicon
Steganografiya – bu tasvir ichiga maxfiy ma'lumotlarni qo'shish texnikasidir. An'anaviy usulda rangli fotografiyaga bir necha bitni o'zgartirish orqali maxfiy matn joylashtiriladi. Favicon uchun ham shu tamoyilni qo'llash mumkin: HTML sahifasining UTF‑8 baytlarini to'g'ridan-to'g'ri RGB kanallariga yozish.
<h1>Website in a Favicon</h1>
<p>Everything you're reading right now was decoded from favicon pixels.</p>
Jarayonning bosqichlari
- HTMLni baytlarga aylantirish:
TextEncoder yordamida sahifaning matni UTF‑8 formatida bayt massiviga o'zgartiriladi.
- Uzunlik sarlavhasini qo'shish: Birinchi to'rt baytga ma'lumot uzunligini yozish kerak, chunki tasvir oxirida bo'sh piksel bo'lishi mumkin.
- Piksel to'ldirish: Har bir bayt ketma‑ketda pikselning red, green, blue kanallariga yoziladi. Masalan, birinchi bayt – birinchi pikselning qizil kanali, ikkinchi bayt – yashil, uchinchi bayt – ko'k.
- Rasmni yaratish: Baytlar yetarli bo'lganda, kerakli kvadrat o'lcham (masalan, 9×9 piksel) tanlanadi va PNG faylga saqlanadi.
Minimal hajm misoli
Misolda 208 baytli HTML hujjat 4 baytli uzunlik sarlavhasi bilan birga jami 212 baytga teng bo'ldi. Har bir piksel 3 bayt saqlashi sababli 71 piksel kerak bo'ldi. Eng kichik kvadrat 9×9 (81 piksel) bo'lib, bu 239 bayt sig'imni beradi va 87% foydalanilgan.
Ma'lumotni qayta o'qish
Faviconni o'qish uchun brauzer quyidagi imkoniyatlardan foydalanadi:
- Favicon PNG sifatida yuklanadi.
- Canvas elementiga chiziladi.
- Canvas API
getImageData yordamida har bir pikselning RGB qiymatlari olinadi.
- RGB qiymatlari birlashtirilib, original bayt massiviga qaytariladi.
- Birlamchi 4 bayt o'qilib, ma'lumot uzunligi aniqlanadi, shundan so'ng HTML matni UTF‑8 dan dekodlanadi.
Natijada brauzer o'z faviconidan to'liq veb sahifani tiklaydi.
Foydaliligi va cheklovlari
Bu usul amalda keng qo'llanilmaydi, chunki:
- Saqlash sig'imi juda kichik – bir necha yuz bayt.
- Sahifani ko'rsatish uchun alohida JavaScript yuklovchi kerak.
- Ko'proq samarali ma'lumot uzatish usullari mavjud.
Ammo texnik jihatdan bu yondashuv veb‑dasturchilarni yangi imkoniyatlar va cheklovlar bilan tanishtiradi, "ikonkalar ham ma'lumot saqlashi mumkin" degan g'oyani tasdiqlaydi.
SEO va kalit so'zlar
Ushbu maqola favicon, steganografiya, HTML saqlash, JavaScript, pixel bayt kabi kalit so'zlar orqali qidiruv tizimlarida yuqori ko'rinishga ega bo'lishi mumkin.