|
什么樣的UR稱得上優秀的URI?
優秀的URI就是不需要改變的URI。
是什么迫使URI做出改變?
不改變的是URI:改變的是人。
理論上人們沒有什么原因去改變URIs,但是在實際運行中卻存在著成百上千的原因。
從理論上講,域名的所有者擁有該域名下的所有URI。 理論上您域名下的所有URI是完全由您控制的,所以你是可以按照自己喜歡的方式使URI變得穩定。迫使一個文件地址消失的原因是域名過期或服務器沒有在繼續運行。這就是為了會有這么多改來該去的鏈接。其中的一部分是由于缺乏遠見導致的。 下面是您可以聽到的一些原因。
為了使網站更好,我們剛改版了網站。
你真的覺得舊的URI已經不能再繼續使用了嗎?如果是這樣,那么慎重的設計新的URI,讓在在下次改版的時候無需改變它。
我們有大量過期的、保密的、無效的的文檔需要進行區分
我們需要在文檔公開前仔細的篩選,文件是不是保密的。解決上述問題還是需要進行深思熟慮。確保公開的每個檔案都是可以被公布的,并在meta信息中標注出創建日期和失效日期。
我們發現不得不移動文件
要知道這是一個最懶的借口,很多人不知道像Apache這樣的服務器會在URI和物理路徑間為你提供一個靈活的設置。把你的URI看成是抽象空間,將其映射到具體的物理空間,然后將映射告訴服務器。你只要修改映射關系就可來解決移動文件帶來的URI改變的問題。
我們曾經使用的是一個CGI腳本,現在我們使用的是一個二進制程序。
有一個瘋狂的想法,即由腳本制作的頁面必須在“cgi-bin”或“CGI”文件夾內。 這樣做暴露了您服務器的運行機制。在不改變內容的情況下, 你轉變機制,你所有的URI都會發生變化。
我不認為URI是需要持久的,需要持久的那是URN。
這是URN討論后最糟糕的影響,有些人認為,命名空間的研究,會使是鏈接更加持久化,URN將解決一切問題。如果你是這部分人,那么允許我將你叫醒。
我看到的大多數URN看起來向HTTP URI,換句話說,如果你認為你的團隊有建立持久的URN的能力,那么現在就讓他們建立HTTP URI,這將不會給你的URI帶來不穩定。
我們想做,但是我們沒有合適的工具。
你需要做的是讓Web服務器在瞬間查找一個持久的URI,并返回該文件。 您希望能夠將URL存儲在一個檢查文件里,并與存放數據不斷保持更新。 您想存儲不同版本和相同的文件翻譯,并希望保持一個獨立的校驗和記錄。 當你想創建一個新的文檔,您的編輯框需要您提供一個URI。
你需要在不改變URI的情況下可以改變URI的權限及安全級別等。這看起來很難,但是我們最終會實現,W3C使用的是Jigedit,他可以通過腳本控制服務其和客戶端。
我為什么要在乎這些?
當你在服務器上修改了URI,你不會知道還有多少人會使用舊的URI。他們可能把你的鏈接發布到了其他網站上,他們可能把你的鏈接存為了書簽。他們可能把你的URI告訴了別人。
當一些人點擊鏈接,但是發現鏈接無法打開的時候,他們就會對網站擁有者失去信心。他們會因為不能完成自己想要的目標而沮喪。
我該怎么去設計URI?
使一個URI可以持續2年、20年、200年,這是一個網站管理員的責任。這需要思想、組織和承諾。
一般來說URI改變時因為文檔里的一些信息發生了改變,這和URI的設計至關重要的。
文件的創建日期這是不會改變的。這對分離舊的系統和新的系統非常有用。這能很好的讓你開始設計一個URI。即使這個文件會被多次修改,但是他還是只會有一個創建日期。
唯一例外的是一個網頁是故意“最新”的,例如頻道的首頁。
http://www.pathfinder.com/money/moneydaily/latest/
此URI不需要日期的主要原因是此頁面時不斷更新的,如果你需要者頁面的存檔,存檔地址可以是
http://www.pathfinder.com/money/moneydaily/1998/981212.moneyonline.html
?。ㄟ@個URI看上去不錯,除了”98″和“.html”有些多余)
哪些信息需要被拋棄?
在使用日期以后,把任何信息放入URI都有可能帶來問題。
- 作者的名字 著作權可能會因為版本的修改而改變,比如團隊里的某些人離開使事務被轉手。
- 標題 這個是非常棘手的,他總是現在看起來非常合適,但是過些時間久需要改變。
- 狀態 如”old”,”new”,”latest”等,文件很可能會改變狀態。
- 訪問權限 一個文件的訪問權限可能會因為情況而改變,不要將文檔放在”public”、”team”下。
- 文件擴展名 即使是”.html”也有可能會改變。
- 程序機制 如”cgi”和”exec”
- 磁盤名稱 這個也有用使用的!
下面是一個很好的例子:
http://www.w3.org/1998/12/01/chairs
一份關于W3C椅子的會議報告。
按文章主題進行分類
這是非常危險的操作。通常情況下,你URI中的文檔分類是按你正在進行的工作進行區分的。這就可能帶來隱患,你從事的領域可能會在今后發生變化。在W3C,我們期望吧”MarkUp”修改為”Markup”,后來又期望修改為“HTML”,我們不能保證現在的命名在以后是否適用。
按主題分類這是一個非常理想的分類方案,包括把整個互聯網進行分類一樣,這是一個非常不錯的解決辦法,但是從長遠看存在著嚴重的缺陷。每個人對語言中的每個聚類的主題詞都有不同的理解,網絡之間的主題關系,并不是像樹型那么簡單。事實上,當你在你的URI中綁定分類時,未來你很有可能去改變這個分類,到時候URI就需要跟隨著改變。
在URI中使用主題進行分類的一個原因是你需要一個名稱作為URI的一個部分來組織內容,比如內容細分,通常來說在日期存在(日期在左邊)的情況下還是非常安全的,1998/pics可以理解為,我們在1998年的照片。而不是照片中1998年我們在做什么。
不要忘記你的域名
請記住,這不僅適用于URI“路徑”,同時也使用與服務器名稱。 在域名中無論代表公司,或文件狀態,或訪問級別,或者安全級別劃分,要非常非常小心,特別是在使用多個域名訪問一個文件的時候,不要忘記,你可以在服務器端使用重定向。
結論
保持URI2年,20年,200年甚至是2000年不變并不是那么的簡單,站長去決定未來真的是很難,因為他們現在使用的工具,看起來是現在最好的,沒有人知道未來會怎么樣,很多事情會改變,但是URI還是需要保留,我們唯一可以做的就是思考如何設計URI。
it知識庫:優秀的URI不會改變,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。