Faviconfavorites icon的縮寫,亦被稱為website icon(網站圖示)、page icon(頁面圖示)或urliconURL圖示)。Favicon是與某個網站網頁相關聯的圖示。網站設計者可以多種方式建立這種圖示,而目前也有很多網頁瀏覽器支援此功能。瀏覽器可以將favicon顯示於瀏覽器的網址列中,也可置於書籤列表的網站名前,還可以放在標籤式瀏覽介面中的頁標題前。

Firefox顯示維基百科的favicon

最初,定義一個favicon的方法是將一個名為「favicon.ico」的檔案置於Web伺服器根目錄下,Internet Explorer的我的最愛(即書籤)可以自動顯示該檔案。[1] 後來出現了一種更為靈活的方法,即使用HTML來為任何一個網頁指示其圖示所儲存的位置。這種方法是透過在頁面的<head>部分添加兩個link元件來實現的。這樣,任何一個適當大小的(16×16像素或更大)的圖像都可以用作favicon。儘管如此,多數情況下仍然使用ICO格式。其他網頁瀏覽器現在也支援PNG(可攜式網路圖片)格式,和GIF(圖形交換格式)動畫圖像格式。

市面上多數瀏覽器同時支援上述兩種方法。正因此,網路伺服器要接受很多對「favicon.ico」檔案的請求,即使該檔案根本不存在。網站管理員對此很不滿,因為這樣會增加大量的伺服器紀錄檔項,並導致很多不必要的磁碟讀取和CPU、網路資源的占用。另一個常見的問題是,當清除瀏覽器的快取後,favicon可能會消失。

歷史

1999年3月,Internet Explorer最早僅僅將favicon用於我的最愛(例如MSIE 5.0[2][3][4]。這產生了一些關於隱私問題的考慮,因為網站擁有者可以透過檢查訪問紀錄檔察看有多少人下載了favicon.ico檔案,判斷有多少人將他們的網站放入我的最愛中。然而,自從許多其他瀏覽器開始在每次訪問時都將favicon顯示在網址列上,這就不再是一個問題了[3]

標準化

Favicon功能最早由微軟創設,而微軟公司的Internet Explorer網頁瀏覽器會對每一個網站都請求favicon。微軟支援的link標籤不遵從World Wide Web Consortium(W3C,全球資訊網協會)的HTML建議[1]頁面存檔備份,存於網際網路檔案館),因為:

  • rel屬性必須包含一個用空格作分隔符的link類型的列表,所以一個包含兩詞的link類型不能被遵守標準的瀏覽器理解。
  • .ico」檔案類型(一種用於Microsoft Windows上圖示的光柵格式)沒有一個註冊的MIME類型,而且似乎在當時也不能被多數瀏覽器理解。然而2003年,這一格式在IANA獲得註冊,其MIME類型是image/vnd.microsoft.icon,進而消除了此問題的第一部分。
  • 在網站上使用保留位址(reserved location)Architecture of the World Wide Web(網際網路的結構)頁面存檔備份,存於網際網路檔案館)矛盾,同時被認為是link squatting(連結劫持)URI squatting(URI劫持)

Mozilla瀏覽器透過一種遵從Web標準的方法添加了對favicon的支援。它採用rel="icon"並允許網路設計人員添加任何支援的圖像格式的favicon。例如<link rel="icon" type="image/png" href="/path/image.png" />。後來鑑於此功能將被用於所有新內容,多數瀏覽器都對此功能增加了支援。

根據《HTML 4.01 Specification W3C Recommendation 24 December 1999》,rel屬性的取值僅有:

  • Alternate
  • Stylesheet
  • Start
  • Next
  • Prev
  • Contents
  • Index
  • Glossary
  • Copyright
  • Chapter
  • Section
  • Subsection
  • Appendix
  • Help
  • Bookmark

如果要採用其他值,應當在head標籤中的profile屬性中進行自訂。W3C給出了一個建議:《How to Add a Favicon to your Site》頁面存檔備份,存於網際網路檔案館)。

簡單地說:

  1. 在head標籤中加入profile屬性指向http://www.w3.org/2005/10/profile頁面存檔備份,存於網際網路檔案館)。
  2. 用link標籤指向Favicon URI,rel值為icon

一個常見的錯誤是不指定profile。

指導

過去,為保證favicon出現,網站設計者和開發者採用了多種方法。很難明確地保證favicon可以在所有電腦上顯示,即使是用同一版本的一種瀏覽器。

下列代碼另一個局限就是它把favicon關聯到了某個特定的HTML或XHTML文件上。為避免這一點,favicon.ico檔案應置於根目錄下。多數瀏覽器將自動檢測並使用它。

  • 建議包含以下兩行HTML代碼:
<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon" />
然而,只有第一行是必須的,因為「shortcut icon」字串將被多數遵守標準的瀏覽器辨識為列出可能的關鍵詞(「shortcut」將被忽略,而僅使用「icon」);而Internet Explorer將會把它作為一個單獨的名稱(「shortcut icon」)。這樣做的結果是所有瀏覽器都可以理解此代碼。只有當希望為新瀏覽器提供另一種備用圖像(例如動畫GIF)時,才有必要添加第二行。
  • 在HTML中,link元件必須在head元件里(在<head></head>之間)。
  • 對於XHTML,link必須使用「 />」結束(或「></link>」),而不可以使用「>」結束。
  • href可以,但不必指向/favicon.ico的位置。它可以指向任何URL。
  • 圖像通常可以使用任何被瀏覽器支援的圖像格式。
  • .ico檔案格式通常可以被所有可以顯示favicon的瀏覽器讀取。
  • 設定伺服器,以傳送正確的MIME標識:
  • 使用適當的解析度色深
    • ICO:包括多種解析度(最常使用的是16×16和32×32,Mac OS X有時使用64×64和128×128)以及位深(位元每像素)(多數使用4、8、24 bpp,即16、256和1600萬色)。
    • GIF:使用16×16,256色。
    • PNG:使用16×16,256色或24位元。

注意:當favicon.ico被置於文件根目錄時,將會被一些不處理link元件的瀏覽器找到,即使沒有您的站點上沒有指向它的連結。

參考

  1. ^ Favicon.ico - Make your OWN Icon bookmark for Internet Explorer. AccessFP. [2012-12-30]. (原始內容存檔於2013-01-05). If you want the icon to appear you must upload a file named favicon.ico into the Root directory... 
  2. ^ McGrew, Darin. Web Authoring FAQ – 8.11. How can I have a custom icon when people bookmark my site?. htmlhelp.com. 26 April 2007 [23 February 2011]. (原始內容存檔於2019-12-16). 
  3. ^ 3.0 3.1 Heng, Christopher. What is Favicon.ico? Personalise Your Site's Bookmarks. thesitewizard.com. 7 September 2008 [23 February 2011]. (原始內容存檔於2012-02-08). 
  4. ^ Creating favicons with Adobe Photoshop and GoLive. Adobe GoLive. [25 February 2011]. (原始內容存檔於2003-12-07). 

外部連結