鹽城做網(wǎng)站公司分享網(wǎng)站制作不可不知的URL知識(shí)
本文講述URL這個(gè)司空見慣的Web元素中包含的大量不應(yīng)為忽視的知識(shí),準(zhǔn)則與最佳實(shí)踐。需要注意的是W3C建議使用URI取代URL一說。
關(guān)于URL的一些準(zhǔn)則
首先是與URL有關(guān)的一些準(zhǔn)則。
一個(gè)URL必須唯一地,永久地代表一個(gè)在線對(duì)象
URL的最基本的使命是唯一地代表Internet上的一個(gè)對(duì)象,URL必須和Internet上的對(duì)象一對(duì)一匹配。然而現(xiàn)實(shí)中,這很難實(shí)現(xiàn),我們經(jīng)常可以通過多個(gè)URL到達(dá)同一個(gè)頁面,比如,和,這種情形在現(xiàn)代CMS中更是比比皆是,針對(duì)這個(gè)問題,SEO moz有一篇很好的文章,講到了如何使用Canonical URL機(jī)制解決站點(diǎn)中的重復(fù)URL問題。
URL應(yīng)該是永久的,這就要求你在站點(diǎn)上線前就非常嚴(yán)謹(jǐn)?shù)匾?guī)劃URL。如果有一天,你不得不更改URL,一定使用HTTP301機(jī)制,告訴瀏覽器和搜索引擎,你的那個(gè)URL所代表的對(duì)象,已經(jīng)搬遷到新地址,這個(gè)機(jī)制可以保證你舊地址所獲得PR不會(huì)被清零。
盡可能用戶友好
這是URL設(shè)計(jì)的根本,你的URL應(yīng)該為最終用戶而設(shè)計(jì)。保持URL友好的一個(gè)好辦法是在保證可讀性的同時(shí)讓它盡可能短。比如/about就好過/about-acme-corp-page,當(dāng)然,保持簡短不能犧牲可讀性,/13d2一類的地址短則短矣,但并不友好。如果要在Twitter,F(xiàn)acebook一類的社會(huì)媒體網(wǎng)絡(luò)分享你的URL,可以使用一類的網(wǎng)址縮短工具,但這種工具產(chǎn)生的縮短URL并不友好,在Wordpress一類的CMS中,可以使用PrettyLink Pro或Short URL plugin一類的可控制的地址縮短插件。
URL的設(shè)計(jì)切忌使用一些對(duì)用戶來說沒有意義的內(nèi)容,比如數(shù)據(jù)庫的ID號(hào),/products/23這樣的URL地址對(duì)用戶是極不友好的,應(yīng)當(dāng)使用/products/ballpoint-pen一類的地址。
保持一致性
站點(diǎn)內(nèi)的所有URL必須保持一致的格式和結(jié)構(gòu),這樣可以為用戶帶來信任感,如果你必須更改URL格式和結(jié)構(gòu),需要使用HTTP 301機(jī)制。
可預(yù)測(cè)的URL
這也是URL一致性的一個(gè)表現(xiàn),如果你的URL擁有很好的一致性,用戶可以根據(jù)URL猜測(cè)別的內(nèi)容的URL,假如/events/2010/01指向2010年1月份的日程內(nèi)容,那
/events/2009/01應(yīng)當(dāng)指向2009年1月的日程。
/events/2010應(yīng)當(dāng)指向2010年全年的日程。
/events/2010/01/21應(yīng)當(dāng)指向2010年1月21日的日程。
URL中的關(guān)鍵詞
URL中應(yīng)該包含本頁重點(diǎn)內(nèi)容的關(guān)鍵詞,比如/posts/2010/07/02/trip-best-buy-memory-cards一類的URL本身就是對(duì)頁面內(nèi)容的反應(yīng)。在URL包含重點(diǎn)內(nèi)容關(guān)鍵詞,也可以提高SEO性能。SEO的一個(gè)很重要的原則就是,在URL地址中包含內(nèi)容關(guān)鍵詞。
關(guān)于URL的技術(shù)細(xì)節(jié)
下面說的是有關(guān)URL的一些技術(shù)細(xì)節(jié)。
URL不應(yīng)包含.html,aspx,cfm一類的后綴
這類信息對(duì)最終用戶是沒有意義的,卻占了額外的空間,一個(gè)例外是.atom,.rss,.json一類的特殊地址,這類地址是有特別的意義的。譯者注:在某些虛擬主機(jī)式Web服務(wù)器,這種做法未必現(xiàn)實(shí)。
URL不應(yīng)包含WWW部分
WWW部分并不包含任何意義,是一個(gè)額外的負(fù)擔(dān),不友好。可以使用HTTP 301機(jī)制,將定向到。
URL的格式
URL的格式如下:
/[keyinformation]/[name]/?[modifiers]
Key information部分一般代表信息的類型或類別。Modifiers部分則屬于查詢字符串范疇,它不應(yīng)當(dāng)代表數(shù)據(jù)結(jié)構(gòu),應(yīng)當(dāng)代表數(shù)據(jù)的修飾。Key information部分應(yīng)當(dāng)盡可能簡短,同時(shí)應(yīng)當(dāng)表現(xiàn)出一種層級(jí)關(guān)系,比如http:///posts/servers/nginx-ubuntu-10.04,或http:///news/tech/2007/11/05/google-announces-android。
Google News對(duì)新聞源有一個(gè)有趣的要求,Google要求新聞源頁面的URL中必須包含至少3位唯一的數(shù)字,因?yàn)樗麄儠?huì)忽略年份數(shù)字,因此,應(yīng)該使用一個(gè)5位或5位以上的數(shù)字。另外,也應(yīng)該提供Google News站點(diǎn)地圖。如果你想向Google提供新聞,必須按這樣的結(jié)構(gòu)提供URL,當(dāng)然保持一致性,可以預(yù)測(cè)性也是必需的。
使用小寫字符
URL中所有字符都應(yīng)使用小寫,這更容易閱讀。
URL中包含的行為元素
URL查詢字符串中可能包含一些表示行為的元素,比如show,delete,edit等。非破壞性的行為可以體現(xiàn)在URL中,破壞性的行為應(yīng)該使用POST。
使用URL友好字符
在URL中體現(xiàn)網(wǎng)頁標(biāo)題的時(shí)候,往往會(huì)用到一些特殊字符,應(yīng)當(dāng)把它們轉(zhuǎn)換為URL友好字符:
全部大寫字符換成小寫
諸如é一類的字符應(yīng)轉(zhuǎn)換成對(duì)應(yīng)的e
空格使用短劃線代替
諸如!,@,#,$,%,^,&,*一類的字符應(yīng)該使用短劃線代替
雙短劃線應(yīng)該使用單短劃線代替
另外,沒有必要的話,避免使用%20一類的URL逃逸符。
譯者補(bǔ)充:URL的長度上限
URL的最大長度是多少?W3C的HTTP協(xié)議并沒有限定,然而,在實(shí)際應(yīng)用中,經(jīng)過試驗(yàn),不同瀏覽器和Web服務(wù)器有不同的約定:
IE的URL長度上限是2083字節(jié),其中純路徑部分不能超過2048字節(jié)。
Firefox瀏覽器的地址欄中超過65536字符后就不再顯示。
Safari瀏覽器一致測(cè)試到80000字符還工作得好好的。
Opera瀏覽器測(cè)試到190000字符的時(shí)候,還正常工作。
Web服務(wù)器:
Apache Web服務(wù)器在接收到大約4000字符長的URL時(shí)候產(chǎn)生413 Entity Too Large"錯(cuò)誤。
IIS默認(rèn)接收的最大URL是16384字符。