html頭部轉碼


學習html是件比較容易的事情,但單單學html語言肯定是不夠用的,所以大多數人並沒有拿html作爲學習核心,而是將html作爲javascript、動態語言或者css學習的必經之路。於是很多人並不關注一些其他的html標籤。主流書籍大多對此也是一掠而過,我倒更認爲,是書本的作者本身對此一知半解,受惑於此,最近幸運看到關於這部分古老標籤的介紹,想在這裏寫一下。所謂知其然當知其所以然,html已經有十幾年歷史了,現行html語法中很多是以前的老知識,於是一些以前對html有研究的覺得這不必說,重點是這些標籤可移植性好,所以一些典型代碼被作爲副本廣爲傳抄,以至於能做網站的人不必去了解這些。本文列舉這些只爲深究,如上所述,實際用到這裏談到的知識的不多,但是如果你真的不幸被這些因素絆倒,很難知道html到底出現了什麼問題。可以去問問從事3年以內網絡的人員,也許他們那會兒學html的時候,前輩們也不講這些。

1、<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這是一個典型被廣泛傳抄而不被理解的代碼,因爲Dreamwear設計html時會自動幫你設計好這些代碼,所以確實不需要去理解,正常情況它不會困擾到你。

這代碼由來是DTD標準,DTD標準可以理解成一種語法,這種語法規定了標籤嵌套的規則,不同的DTD文件說明不同的標準DTD。比如有的DTD可以承認<baidu>百度</baidu>這種標籤,但html專用的DTD文件(如:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd)寫的標準不能識別<baidu></baidu>這種標籤,xml文件和html文件一樣由DTD文件指定規則。xml是一種只負責信息內容的文件,DTD負責信息的結構,xml可以用指定的DTD文件校正,保證xml不會亂來,這和html文件linkcss有點相似。xml和css結合可以呈現網頁,css單純通過xml個性標籤來識別,xml標籤<A>對應css中A:{} 。而html一般能特別指定樣式,標籤style、class、ID屬性等,但css中的p:{}這種通用標籤屬性寫法也是從xmll+css標準傳承下來的。因爲html由W3C指定的有限的幾個DTD文件限定,所以成爲html,但xml可以由任何自寫的DTD文件限定信息結構,所以可以簡單認爲html是xml的特例,但目前html已經不僅僅是xml延續這麼簡單了,增加了很多東西,但是html中看到了xml的影子,因爲XML更貼近DTD。

理解這一點,以下是這段代碼意思:

<!DOCTYPE        這是xml指定DTD文件的語法標籤,就像html鏈接外部css用到的<link 標籤一樣,但<!DOCTYPE屬於xml解釋器

                           的內置規則(類似C語言編譯器內置C語言語法),而<link 是用DTD文件指定的規則,這個兩個還是不一樣的

html                      這個是指定當前文件最外層標籤,xml裏面叫root(根)標籤,如果是xml中用<!DOCTYPE 指定DTD,這可以指定爲

                            任何字符串,只要對應當前xml文件的root標籤,否則就是不合法的xml文件,就像不合法的C程序一樣,解釋器也會報錯。

PUBLIC               說明指定的DTD文件是公共文件,相對私有文件來說的,也就是後面的url是任何人都可以訪問的,比如可以是SYSTEM。

 "-//W3C//DTD XHTML 1.0 Transitional//EN"             指定本html文件使用的DTD的版本號,這個部分只是針對html纔有的。

                                                                                 W3C指的是出品的單位

                                                                                 DTD XHTML 1.0 是指定版本號,其他還有html 4.01等

                                                                                 Transitional這裏是過渡型版本,一般分Strict(嚴格)、Transitional、Frameset(框架)

                                                                                 EN  應該是English的縮寫,沒有具體查實

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   指定DTD文件位置,在xml中還可以是相對路徑、絕對路徑

2、<meta name="keywords" content="世界,奧運" /> <meta name="description" content="中國奧運會,世界矚目." />

相信瞭解SEO(Search Engine Optimization搜索引擎優化)的人對此並不陌生,這行代碼主要是爲google、百度這類搜索引擎寫的,keywords是關鍵字,如果用戶使用搜索引擎搜索你在這裏列舉的關鍵字(如奧運),搜索引擎就會將你的網頁和沒有奧運關鍵字的網頁區別開,你的網頁會優先顯示,也就是排名較高。keywords使用,或|分隔開。同時description是指網頁描述,出現在搜索引擎結果的小字部分(大字部分是你的title標籤內的文字)。cms系統、博客管理等系統中提供的“關鍵字”編輯以及“描述”編輯(cms中多見)就是這個道理,這部分文件分別通過php類動態語言輸出到對應文章頁面的這行代碼中。

友情提示:由於keyword被大量SEO初學者濫用(因爲keywords沒有長度和個數限制),所以優秀的搜索引擎必須足夠聰明(比如google),有時候會忽視keywords的這行代碼,而直接通過html內容檢索來分析你的關鍵詞,比如加粗變色字體等,加上各個因素(包括title、keywords、description)綜合分析出最重要幾個真實關鍵詞,而不是任由你在keywords裏面說多少就是多少個。所以現在這部分對SEO意義也不是很大,但專業的SEO肯定是需要注意這一點的。

3、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

指定字符集,這不用說,吃過虧的網絡工作者必定深有體會,一個網站一開始的字符集就必須確定,否則到後面會非常麻煩,gb2312針對中國用戶,如果你的網站未來肯定不會指望給國外用戶訪問,選擇gb2312有輕量的優點。但推薦UTF-8,因爲數據庫一般都建議utf-8,所以網頁最好也統一用Utf-8,UTF-8是國際可以通用的字符集,未來如果用外部工具處理網站數據會遇到更少麻煩。text/html是MEMI類型,告訴瀏覽器解析成文本類的html類型,如果是圖片或者zip,這個MEMI類型會修改。典型應用是在php的GD庫處理圖像時,輸入之前必須指定這是個圖像,否則就會按默認text/html類型變成亂碼顯示出來。php處理文件的下載會用到,發送一個Content-Type值告訴瀏覽器這是一個下載文件,瀏覽器就會彈框。比如提供一個未打包php文件給用戶下載,正常情況,點擊php文件就會在服務器上執行php,只用通過先發送下載文件的MEMI類型給瀏覽器才能正常下載。

4、<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

先放個位置,對這個我個人也不是很瞭解,多數網站會添加這個,先挖個坑吧,以後明白了再補

5、<meta http-equiv="refresh" content="3">

以上設置能讓html頁面自動每3秒刷新一次,可以修改3爲其他秒數,這個功能並不常見,沒有什麼應用價值,有的瀏覽器會默認禁用該功能,使代碼失效。一個擴展的寫法是<meta http-equiv="refresh" content="3:url=http://www.baidu.com"> ,表示在本頁面停留3秒後轉到百度網址,由於這些功能可能被SEO用來做“黑帽子”,該功能受部分瀏覽器和搜索引擎抵制。

6、<meta http-equiv="expires" content="0"> 

禁止瀏覽器緩存本頁面,瀏覽器默認是會緩存html文件的,如果修改0爲其他正數X,表示緩存過X秒後失效,在X秒內是緩存,過X秒之後就必須像服務器重現請求網頁。

7、<meta http-equiv="Winows-Tagrget" content="_top"> 

(禁用被引用)一些其他網站可能使用動態語言或者框架將本頁面置入自己的頁面,可以利用本頁面爲自己頁面增加訪問量,本頁面不允許被這麼做,瀏覽器如果看到這行代碼,就會把本頁面升爲最頂層,佔滿整個瀏覽器,而不是淪爲別人頁面的一部分。

8、<meta http-equiv="Page-Enter" content="revealTrans(Transition=22,Duration=1.000)">
<meta http-equiv="Page-Exit" content="revealTrans(Transition=2,Duration=1.000)"> 

這個功能很少爲人所知,該功能能夠實現類似ppt中頁面過渡效果,Page-Enter是指進入本頁面時的動態效果,Page-Exit反之。代號選擇特效,進出特效共23種。但頁面有flash會破壞效果,而且效果美觀並不突出,目前並不是主流,用得比較少,正式網站基本不會見到,但不也排除現在網頁設計者浮躁並不瞭解這個功能。

9、<base href="http://www.baidu.com" /><base target="_blank" />

這個用於規定頁面中所有相對鏈接的基準 URL。如果有一行代碼鏈接到圖片./abc/aa.jpg,那麼點擊就會訪問到http://www.baidu.com/abc/aa.jpg ,如果是寫成<base href="http://www.google.com.hk" />,那就會訪問到www.google.com.hk/abc/aa.jpg這個圖片。

<base target="_blank" />用於指定本頁面中打開頁面的默認形式,這裏修改成新的窗口打開,瀏覽器默認是直接打開,除非在鏈接上指定_blank或者瀏覽器使用者對瀏覽器有特別設置。

最後<title></title>就不多說了,而<link>標記能鏈接javascript、css等這些常用功能也不再贅述了。

 

以上這些就是html文件頭部常見或者能見到的一些代碼,幫助讀者瞭解一些知識死角,成爲優秀的程序開發員,而不是沒了DW就什麼都不會的網頁施工者。


原文轉自:http://www.cnblogs.com/exmyth/archive/2013/02/16/2913728.html

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章