IIS默認(rèn)領(lǐng)受的最大URL16384字符。
實(shí)際上URL非常首要,URL設(shè)想是Web假想中常被忽視的器材。這不僅是一個(gè)網(wǎng)頁(yè)唯一的門路,還涉及到站點(diǎn)是否干凈,友愛。本文報(bào)告URL這個(gè)習(xí)以為常的Web元素中包含的大批量不應(yīng)為忽視的常識(shí),準(zhǔn)則與最佳實(shí)踐。必要注重的W3C建議利用URI庖代URL一說(shuō)
對(duì)于URL一些準(zhǔn)則
起首是與URL無(wú)關(guān)的一些準(zhǔn)則。
永久地代表一個(gè)在線對(duì)象一個(gè)URL必須唯一地。
URL必須和Internet上的對(duì)象一對(duì)一婚配。然則現(xiàn)實(shí)中,URL最基本的任務(wù)是唯一地代表Internet上的一個(gè)對(duì)象。這很難實(shí)現(xiàn),經(jīng)??梢曰蛟S通過(guò)多個(gè)URL達(dá)同一個(gè)頁(yè)面,好比,這種景遇在古代CMS中更是比比皆是針對(duì)這個(gè)成績(jī),SEOmoz有一篇很好的文章,講到如何利用CanonURL機(jī)制處置懲罰站點(diǎn)中的反復(fù)URL成績(jī)
不得不變動(dòng)URL必定利用HTTP301機(jī)制,URL應(yīng)當(dāng)是永遠(yuǎn)的這就要求你站點(diǎn)上線前就非常謹(jǐn)慎地規(guī)劃URL如果有一天。見告瀏覽器和搜索引擎,誰(shuí)人URL所代表的工具,已經(jīng)搬家到新地址,這個(gè)機(jī)制可以或許保障你舊所在所獲得PR不會(huì)被清零。
盡可能用戶友愛
URL應(yīng)該為最終用戶而設(shè)計(jì)。連結(jié)URL友愛的一個(gè)好辦法是保證可讀性的同時(shí)讓它盡可能短。好比/about就好過(guò)/about-acme-corp-pag固然,這是URL設(shè)想的底子。貫穿連接簡(jiǎn)短不能殉國(guó)可讀性,/13d2一類的所在短則短矣,但并不友好。如果要在TwitterFacebook一類的社會(huì)媒體搜集分享你URL可以或許利用Bit.li一類的網(wǎng)址耽誤對(duì)象,但這種工具發(fā)生的延長(zhǎng)URL并不友好,Wordpress一類的CMS中,可以或許利用PrettyLinkPro或ShortURLplugin一類的可控制的所在耽誤插件。
比如數(shù)據(jù)庫(kù)的ID號(hào),URL假想切忌操縱一些對(duì)用戶來(lái)說(shuō)沒有意思的內(nèi)容信息。/products/23如許的URL所在對(duì)用戶是極不友好的應(yīng)當(dāng)利用/products/ballpoint-pen一類的地點(diǎn)。
貫穿連接不合性
這樣可以或許為用戶帶來(lái)相信感,站點(diǎn)內(nèi)的一切URL必須貫穿連接分歧的格式和結(jié)構(gòu)。若是你必須變動(dòng)URL格式和結(jié)構(gòu),必要利用HTTP301機(jī)制。
可預(yù)測(cè)的URL
若是你URL擁有很好的不合性,這也是URL不合性的一個(gè)表現(xiàn)。用戶可以或許按照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本身就是對(duì)頁(yè)面內(nèi)容的反映。URL包含重點(diǎn)內(nèi)容信息關(guān)鍵詞,URL中應(yīng)該包含本頁(yè)重點(diǎn)內(nèi)容的關(guān)鍵詞。也可以提高SEO機(jī)能。SEO一個(gè)很重要的原則就是URL所在中包含內(nèi)容信息關(guān)鍵詞。
對(duì)于URL技術(shù)細(xì)節(jié)
下面說(shuō)的無(wú)關(guān)URL一些技術(shù)細(xì)節(jié)。
aspx,URL不應(yīng)包括.html.cfm一類的后綴
一個(gè)例外是.atom,這類動(dòng)靜對(duì)最終用戶是沒有意思的卻占了計(jì)劃外的空間。.rss,.json一類的不凡地點(diǎn),這類地址是有特別的意思的譯者注:某些虛擬主機(jī)式Web服務(wù)器,這種做法必然實(shí)際。
URL不應(yīng)包孕WWW部門
一個(gè)額外的承擔(dān),WWW部分并不包含任何意思。不友好??梢曰蛟S利用HTTP301機(jī)制,將www.domain.com定向到domain.com
URL花式
URL格式如下:
domain.com/[keyinformation]/[name]/?[modifiers]
不應(yīng)古代表數(shù)據(jù)結(jié)構(gòu),Keiinform部分個(gè)體代表消息的典范榜樣或類別。Modifi部分則屬于盤問字符串范疇。應(yīng)當(dāng)代表數(shù)據(jù)的潤(rùn)飾。Keiinform部分應(yīng)當(dāng)盡可能冗長(zhǎng),同時(shí)應(yīng)當(dāng)呈現(xiàn)出一種層級(jí)關(guān)系。
由于他會(huì)忽視年份數(shù)字,GooglNew對(duì)動(dòng)靜源有一個(gè)有趣的請(qǐng)求Googl要求動(dòng)靜源頁(yè)面的URL中必須包含至多3位唯一的數(shù)字。是以,應(yīng)該操縱一個(gè)5位或5位以上的數(shù)字。別的,也應(yīng)該提供GooglNew站點(diǎn)輿圖若是你想向Googl供給消息,必須按這樣的結(jié)構(gòu)供應(yīng)URL當(dāng)然貫穿連接不合性,可以或許預(yù)測(cè)性也是必須的
操縱小寫字符
這更容易閱讀。URL中所有字符都應(yīng)使用小寫。
URL中包含的步履元素
好比show,URL盤問字符串中可以或許包含一些表示行為的元素。delete,edit等。非破壞性的步履可以或許表現(xiàn)在URL中,破碎摧毀性的步履應(yīng)該利用POST
利用URL和睦字符
經(jīng)常會(huì)用到一些特殊字符,URL中浮現(xiàn)網(wǎng)頁(yè)題目的時(shí)辰。應(yīng)當(dāng)把它轉(zhuǎn)換為URL和睦字符:
全部大寫字符換成小寫
諸如é一類的字符應(yīng)轉(zhuǎn)換成對(duì)應(yīng)的e
空格操縱短劃線代替
@,諸如!.#,$,%,^,&,*一類的字符應(yīng)該操縱短劃線代替
雙短劃線應(yīng)該操縱單短劃線代替
沒有需要的話,別的。預(yù)防利用%20一類的URL逃逸符。
更多觀點(diǎn)
可以或許操縱一些類似句子的URL如:ChriShiflett提議。
chriscoyier.net/authored/digging-into-wordpress/
chriscoyier.net/has-worked-for/chatman-design/
chriscoyier.net/likes/trailer-park-boys
jacobwg.com/thinks/this-post/is/basically-done
譯者增補(bǔ):URL長(zhǎng)度下限
但是,URL最大長(zhǎng)度是幾多?W3CHTTP協(xié)定并沒有限定。實(shí)際操縱中,經(jīng)過(guò)實(shí)驗(yàn),不合瀏覽器和Web服務(wù)器有不同的商定:
其中純道路部分不能跨越2048字節(jié)。IEURL長(zhǎng)度下限是2083字節(jié)。
Firefox瀏覽器的所在欄中超過(guò)65536字符后就不再顯示。
Safari瀏覽器一致測(cè)試到80000字符還使命得好好的
還正常工作。Opera瀏覽器測(cè)試到190000字符的時(shí)辰。
Web服務(wù)器:
A pachWeb服務(wù)器在領(lǐng)受到大概4000字符長(zhǎng)的URL時(shí)刻發(fā)生413EntitiTooLarge"過(guò)錯(cuò)。