URI檢視原始碼討論檢視歷史
URI |
在電腦術語中,統一資源標識符(Uniform Resource Identifier,URI)是一個用於標識某一互聯網資源名稱的字符串。 該種標識允許用戶對任何(包括本地和互聯網)的資源通過特定的協議進行交互操作。URI由包括確定語法和相關協議的方案所定義。Web上可用的每種資源 -HTML文檔、圖像、視頻片段、程序等 - 由一個通用資源標識符(Uniform Resource Identifier, 簡稱"URI")進行定位。
簡介
URI與URL有着共同的歷史。在1990年,Tim Berners-Lee的關於超文本的提案間接地引入了使用URL作為一個表示超鏈接目標資源的短字符串的概念。當時,人們稱之為「超文本名」或「文檔名」。在之後的三年半中,由於萬維網的HTML(超文本標記語言)核心技術、HTTP與瀏覽器都得到了發展,區別提供資源訪問和資源標記的兩種字符串的必要性開始顯現。雖然其時尚未被正式定義,但「統一資源定位符」這一術語開始被用於代表前者,而後者則由「統一資源名稱」所表示。在關於定義URL和URN的爭論中,人們注意到兩者事實上基於同一個基礎的「資源標識」的概念。在1994年6月,IETF發布了Berners-Lee的RFC 1630,(非正式地)指出了URL和URN的存在,並進一步定義了「通用資源標識符」——語義和語法由具體協議規定的類URL字符串的規範文法。此外,該RFC文檔亦嘗試定義了其時正被使用着的URL協議的文法,同時指出(但並未標準化)了相對URL和片段標識符的存在。
評價
1994年12月,RFC 1738 正式定義了絕對和相對URL,改進了URL文法,定義了如何解析URL為絕對形式,並更加完善地列舉了其時正處於使用中的URL協議。而URN定義和文法直到1997年5月RFC 2141公布後才正式統一。1998年8月,隨着RFC 2396的發表,URI文法形成了獨立的標準,同時RFC 1630和1738中關於URI和URL的許多部分也得到了修訂和增補。新RFC修改了「URI」中「U」的含義:它開始代表統一(Uniform)而不再是通用(Universal)。RFC 1738中總結了既存URL協議的部分被移至另外一篇獨立文檔中。IANA 保留着這些協議的註冊信息,而RFC 2717首次描述了註冊它們的流程。在1999年12月,RFC 2732對RFC 2396進行了小幅更新,開始允許URI包括IPv6地址。一段時間以後,在兩個標準中暴露出的一些問題促使了一系列的修訂草案的發展,這些草案被統稱為rfc2396bis。這一由RFC 2396的共同作者Roy Fielding引導協調的集體努力,由2005年1月RFC 3986的發布推至了頂峰。該RFC文檔成為了現今(2009年)於互聯網上被推薦使用的URI文法版本,並使得RFC 2396成為了歷史。然而,它卻並未替代現有的URL協議細節;RFC 1738繼續管轄着大多數協議,除了某些已被它取而代之的場合——例如被RFC 2616改良的」HTTP」協議等。與此同時,IETF發布了RFC 3986,亦即完整的STD 66標準,標識着URI通用文法正式成官方因特網協議。[1]