Favicon Toolsजाँचेंबनाएँ
Formats

favicon.ico: यह क्या है और क्या आपको अब भी इसकी ज़रूरत है

favicon.ico वह आइकन फ़ाइल है जिसे जब कोई page अपना कोई आइकन घोषित न करे तो browsers आपके domain की root से /favicon.ico पर माँगते हैं। यह एक ICO container है, इसलिए एक अकेली फ़ाइल एक साथ कई bitmaps रख सकती है (आमतौर पर 16x16, 32x32 और 48x48), और client अपनी ज़रूरत का size चुन लेता है। आपको अब भी एक की ज़रूरत है, क्योंकि crawlers, feed readers और link-preview bots आपके HTML को पढ़े बिना ठीक उसी path को माँगते हैं।

एक प्रचलन, कोई standard नहीं

/favicon.ico path को कभी किसी ने निर्दिष्ट नहीं किया; Internet Explorer 5 ने इसे माँगा, और बाक़ी वेब ने अनुसरण किया। इसीलिए यह बिना किसी markup के काम करता है। जिस browser को आपके page पर कोई आइकन link tag न मिले वह बस server से उस path के लिए पूछ लेता है और जो भी वापस आए उसे इस्तेमाल करता है।

इसका नतीजा यह है कि request तब होती है चाहे आपके पास फ़ाइल हो या न हो। अगर वह ग़ायब है, तो server हर आगंतुक के लिए एक 404 लॉग करता है, और कोई भी tool जो सिर्फ़ उस path को जाँचता है आपकी साइट के लिए एक खाली placeholder दिखाता है।

एक सामान्य favicon.ico के अंदर क्या होता है

Entryकिसके लिए
16x16Address bar, bookmark सूचियाँ, history entries
32x32मानक-density displays पर browser tabs
48x48Windows shortcuts और higher-density tabs

फ़ाइल कहाँ जाती है

  • public/
    • favicon.icoaddServed at /favicon.ico
    • favicon-32x32.pngPrimary tab icon
    • apple-touch-icon.pngiOS Home Screen

इसे साइट root पर हल होना चाहिए, किसी subdirectory में नहीं। अधिकांश frameworks इसी वजह से एक public या static directory को root से मैप करते हैं; कुछ, हाल के Next.js समेत, एक app/favicon.ico भी स्वीकार करते हैं और tag आपके लिए जोड़ देते हैं।

इसे स्पष्ट रूप से घोषित करना

<link rel="icon" href="/favicon.ico" sizes="any">

वैकल्पिक, क्योंकि path वैसे भी माँगा जाता है, पर जोड़ने लायक़: यह markup में icon set को दिखाई देता बनाता है और आइकन बदलने पर आपको query string से cache-bust करने देता है।

favicon.ico FAQ

क्या favicon.ico असल में एक PNG हो सकता है?

Browsers extension पर भरोसा करने के बजाय content को sniff करते हैं, इसलिए /favicon.ico पर सर्व की गई PNG आमतौर पर काम कर जाती है। फिर भी यह एक बुरा विचार है। आप multi-size व्यवहार खो देते हैं जो इस path को इस्तेमाल करने का एकमात्र कारण है, और कड़े उपभोक्ता इसे अस्वीकार कर सकते हैं।

मैं अपने logs में 404 कैसे रोकूँ?

फ़ाइल भेजें। log line को दबाना लक्षण को छिपाता है जबकि हर tool जो उस path को माँगता है उसे अब भी कुछ वापस नहीं मिलता।

क्या फ़ाइल को root पर ही होना ज़रूरी है?

स्वचालित request के लिए, हाँ। Clients विशेष रूप से /favicon.ico माँगते हैं। अगर आप एक link tag से किसी आइकन पर इशारा करें तो आप उसे किसी भी path से सर्व कर सकते हैं, पर root फ़ाइल ही उन clients को कवर करती है जो कभी आपके HTML को parse नहीं करते।

संबंधित शब्द