url
設計是web
設計中常被忽視的東西,事實上
url
非常重要,這不僅是乙個網頁唯一的路徑,還涉及到你的站點是否乾淨,友好。本文講述
url
這個司空見慣的
web
元素中包含的大量不應為忽視的知識,準則與最佳實踐。需要注意的是
w3c 建議使用
uri 取代
url 。
關於url的一些準則
首先是與
url
有關的一些準則。
乙個url
url
的最基本的使命是唯一地代表
internet
上的乙個物件,
url
必須和internet
上的物件一對一匹配。然而現實中,這很難實現,我們經常可以通過多個
url
到達同乙個頁面,比如, 和
,這種情形在現代
cms
中更是比比皆是,針對這個問題,
seo moz 有一篇很好的文章,講到了如何使用
canonical url 機制解決站點中的重複
url 問題 。
url
應該是永久的,這就要求你在站點上線前就非常嚴謹地規劃
url。如果有一天,你不得不更改
url,一定使用
機制,告訴瀏覽器和搜尋引擎,你的那個
url
所代表的物件,已經搬遷到新位址,這個機制可以保證你舊位址所獲得
pr 不會被清零。
盡可能使用者友好
這是url
設計的根本,你的
url
應該為終端使用者而設計。保持
url
友好的乙個好辦法是在保證可讀性的同時讓它盡可能短。比如
/about
就好過/about-acme-corp-page
,當然,保持簡短不能犧牲可讀性,
/13d2
一類的位址短則短矣,但並不友好。如果要在
一類的社會**網路分享你的
url,可以使用
bit.ly
一類的**縮短工具,但這種工具產生的縮短
url
並不友好,在
wordpress
一類的cms
中,可以使用
prettylink pro
或short url plugin
一類的可控制的位址縮短外掛程式。
url
的設計切忌使用一些對使用者來說沒有意義的內容,比如資料庫的
id 號,
/products/23
這樣的url
位址對使用者是極不友好的,應當使用
/products/ballpoint-pen
一類的位址。
保持一致性
站點內的所有
url
必須保持一致的格式和結構,這樣可以為使用者帶來信任感,如果你必須更改
url
格式和結構,需要使用
機制。
可**的url
這也是url
一致性的乙個表現,如果你的
url
擁有很好的一致性,使用者可以根據
url
猜測別的內容的
url,假如
/events/2010/01
指向2010 年1
月份的日程內容,那
url
url
/posts/2010/07/02/trip-best-buy-memory-cards
一類的url
本身就是對頁面內容的反應。在
url
seo
效能。seo
的乙個很重要的原則就是,在
url
關於url的技術細節
下面說的是有關
url
的一些技術細節。
url不應包含.html, aspx, cfm一類的字尾
這類資訊對終端使用者是沒有意義的,卻佔了額外的空間,乙個例外是
.atom, .rss, .json
web
伺服器,這種做法未必現實。
url不應包含www部分
www
部分並不包含任何意義,是乙個額外的負擔,不友好。可以使用
機制,將
www.domain.com
定向到domain.com 。
url的格式
url
的格式如下:
部分一般代表資訊的型別或類別。
modifiers
部分則屬於查詢字串範疇,它不應當代表資料結構,應當代表資料的修飾。
key information
部分應當盡可能簡短,同時應當表現出一種層級關係,比如
,或 google news 對新聞源有乙個有趣的要求 ,
要求新聞源頁面的
url
中必須包含至少
3 位唯一的數字,因為他們會忽略年份數字,因此,應該使用乙個5位或
5位以上的數字。另外,也應該提供
google news 站點地圖
。如果你想向
提供新聞,必須按這樣的結構提供
url,當然保持一致性,可以**性也是必需的。
使用小寫字元
url
中所有字元都應使用小寫,這更容易閱讀。
url中包含的行為元素
url
查詢字串中可能包含一些表示行為的元素,比如
show, delete, edit
等。非破壞性的行為可以體現在
url
中,破壞性的行為應該使用
post 。
使用url友好字元
在url
中體現網頁標題的時候,往往會用到一些特殊字元,應當把它們轉換為
url
友好字元:
另外,沒有必要的話,避免使用
%20
一類的url
逃逸符。
更多觀點
chris shiflett
建議,可以使用一些類似句子的
url,如:
譯者補充:url的長度上限
url
的最大長度是多少?
w3c 的
http 協議
並沒有限定,然而,在實際應用中,經過試驗,不同瀏覽器和
web
伺服器有不同的約定:
web
伺服器:
Python中url標籤使用知識點總結
1.在模板中,我們經常要使用一些url,實現頁面之間的跳轉,比如某個a標籤中需要定義href屬性。當然如果通過硬編碼的方式直接將這個url固定在裡面也是可以的,但是這樣的話,對於以後進行 的維護,可能就比較麻煩,因此建議使用這種動態的方式來實現,類似於django中reverse一樣。示例 如下 2...
URL編碼知識摘抄備忘
網頁工具 參考 維基百科 某篇部落格 通常如果一樣東西需要編碼,說明這樣東西並不適合傳輸。原因多種多樣,如size過大,包含隱私資料,對於url來說,之所以要進行編碼,是因為url中有些字元會引起歧義。uri所允許的字元分作保留與未保留。保留字元是那些具有特殊含義的字元.例如,斜線字元用於url 或...
Flask總結(二) URL對映
flask用裝飾器實現url對映。先來看乙個例子 from flask import flask def hello world return welcome to flask def test id return the id is d id if name main 執行,然後在瀏覽器中訪問ht...