上一次,偶寫了一個對於
Cite元素的proposol(一個有趣的事情是該文沒有任何討論,但是被“踩”了3下,我其實很想知道踩我的人是基於什麽標準),在提議的末尾建議了一個標明所引用資源的URI的屬性。屬性名的選擇之一是“urn”。
今日偶爾上MSDN看reference,忽然看到叫做urn的屬性,點開一看,除了我已知的IE特有的namespace import中會有urn屬性,我們
爛熟於心的A標籤居然也有一個屬性叫urn,然而解釋卻語焉不詳:Sets or gets a URN for a target document. (這種註釋,寫了跟沒寫差不多……)
這個屬性有啥作用呢?似乎一點作用也無。google了半天,才終於找到線索。原來
HTML2.0的A元素有這個屬性!其用途是:
specifies a preferred, more persistent identifier for the head anchor of the hyperlink. The syntax and semantics of the URN attribute are not yet specified.
從這個設計意圖來看,此屬性顯然太過學究(甚至連語法和語義也沒有確定),殊無實踐價值,故在之後的HTML+和HTML3.0中都被去掉了。不意IE居然還殘留著這個上古遺物。我猜測這至少是從IE3傳承下來的,搞不好是從IE1甚至其前身Spyglass Mosaic那裡繼承來的——有心人自可考據一番。
不過反過來說,這個A上的urn屬性,其實反映了互聯網社群對於URI的早期看法(
MSDN對其的解釋也仍沿襲舊說),即URI分兩種,一種是URL,指示了資源的位置,一種是URN,指示了資源的命名(與尋址無關)。比如可以認為“http:”是URL scheme,而“isbn:”(應該【1】)是URN scheme。所以才會在一個A元素上,既有href屬性,也有urn屬性(所以HTML2對urn的解釋是“更永久化的標識”)。
【注1:實際現在的標準里並不存在“isbn:”scheme。】
但是後來,這個觀念轉變了。一種scheme沒有必要被硬性歸入URL或URN(抑或URC)。故“http:”是URI scheme,“urn:”也是URI scheme。後者定義了子空間,如“urn:isbn:n-nn-nnnnnn-n”中的isbn便是(“isbn”可稱為URN namespace ID,簡稱“URN NID”)。所以今天不再有URN schemes(注意這個s),而只有唯一一種“urn:”scheme,及其下的許多種URN NIDs。
NID可以自行創製(只要符合語法,並且不與已經通用的NID衝突),但若是要在公共領域廣泛使用,最好在IANA組織註冊,向世界宣佈這個NID已經為你所有了!
這裡是所有已經註冊的NID。
回過頭來講,既然URI本身是通用統一的標識機制,使用現有的URI scheme也無差(譬如最常用的“http:”),自行創製一種特別的URN NID,除了顯擺,似乎也意義不大。這大概也是真正註冊的NID並不多的原因。
如,標識我昨天吃的盒飯(假設記帳需要),用 http://hax.iteye.com/eating/2010-10-28/bentou 也可以了(記住這只是個標識,不需要在javaeye的服務器上真實存在這樣一個文件),沒有必要搞一個 urn:hax:eating:20101028:bentou (我知道這樣顯得比較cool)。
如果你沒有自己的域名(因而無法確保唯一分配 http://mydomain/xxx 作為一個資源的標誌符),一個可選的方案是採用
“tag”scheme,比如:
tag:hax@fudan.edu,1999:eating/2010-10-28/bentou
当年有人(据说是留学MIT的学生)在美國註冊了一些edu域名提供免費email服務,fudan.edu(注意沒有.cn)也是其中之一。后來這一批edu域名都被收回,今天你甚至在DNS上都查不到存在這個域名。但是我可以用“tag:hax@fudan.edu,1999”来构造tag URI,因為偶是1999年时hax@fudan.edu這個信箱的擁有者。
除了mailbox,也可以用domain。比起 http://hax.iteye.com/eating/2010-10-28/bentou ,更好的方式或許是:
tag:hax.iteye.com,2007:eating/2010-10-28/bentou
因為我不能確保若干年後我還是hax.iteye.com的使用者。可能我會離開javaeye,或者javaeye倒閉了(或者CSDN倒閉了?)……世事难料,就此打住。
本文參考:
http://www.w3.org/TR/uri-clarification/
分享到:
相关推荐
总结起来,"上古世纪官网jQuery焦点图代码"是前端开发中的一个实例,展示了如何利用jQuery实现跨浏览器的图片轮播功能。虽然IE 6等老版本浏览器的兼容性问题可能限制某些特效,但通过合理的技术选型和代码优化,...
在《上古卷轴》游戏中,控制台是一个内置的调试工具,允许玩家输入命令以改变游戏状态,如给予物品、修改角色属性或启用作弊功能。 在《上古卷轴》游戏中,控制台的开启通常通过按下 "~" 键(通常是键盘左上角的Esc...
《真正的上古卷轴4内核汉化v1.2版本补丁》正是这一努力的结晶,它解决了之前版本汉化补丁在准确性和完整性的不足,为广大中文用户提供了一个更加精准、流畅的中文环境。 这个汉化补丁不仅关注于游戏界面和对话的...
"上古汉化补丁v10内部"是一个针对《上古世纪》的中文翻译更新版本,旨在提供更准确、流畅的游戏内文本翻译。这个补丁的安装可能需要玩家进行一些探索和尝试,但总体来说并不复杂,即便是对计算机操作不太熟悉的玩家...
在这款游戏里,玩家可以扮演一个自定义的角色,探索广阔的天际省,参与各种任务,与各种各样的NPC互动,并学习强大的龙吼技能。"femaleeventoned"指的是游戏中的女性角色特定事件的声音资源,而"女性主角语音_战斗&...
总的来说,"上古卷轴菜单背景更换"是一个让玩家自定义游戏视觉元素的方式,它体现了《上古卷轴》社区的创造力和热情。通过正确安装和管理MOD,玩家可以持续享受游戏带来的新鲜感,同时也可以借此展现自己的个性和...
《上古卷轴5重制版》是一款由Bethesda Game Studios开发的角色扮演视频游戏,它重新构筑了一个名为天际的魔幻世界,玩家可以在其中探索、战斗、学习魔法、完成任务等等。这篇攻略为玩家提供了一个详尽的全剧情流程,...
总的来说,腾讯上古世纪的jQuery焦点图代码是一个完整的解决方案,结合了jQuery的强大功能和优雅的前端设计。通过理解和运用这些代码,开发者可以快速在自己的项目中实现类似的效果,提升网站的专业性和吸引力。对于...
上古卷轴5 MO管理器
14. **Hadvar** (代码: 35533) - 玩家在游戏初期可以选择跟随的两个角色之一,属于帝国阵营。 15. **Agni** (代码: 135E5) - 一位住在Whiterun的诺德人。 16. **Alva** (代码: 135E6) - Whiterun的一位女性居民。 17...
第一节音韵学简介《诗经》的用韵与上古音
总结来说,VCD播放器是数字娱乐历史的一个重要阶段,它代表了多媒体技术和家用娱乐设备的一个过渡时期。从VCD_PLAY.EXE这样的程序,我们可以深入学习早期的视频编码、解码技术和多媒体文件格式,这些都是现代数字...
本资源"上古世纪jQ焦点图 腾讯上古世纪jQuery焦点图代码下载.zip"提供了一个专门针对腾讯上古世纪游戏的jQuery焦点图实现,它可以帮助开发者创建引人注目的动态图像展示效果,提升用户体验。 焦点图,又称轮播图或...
包含众多实用的财务工具包,如货币实时换算,股票查询和电子表格计算等工具,这些都能让你做一个合格的信息化的“守财奴”,嗯,也不错! <br>10.好又多实用工具包:文本简繁转换(有台湾省的文档和业务吗)、...
上古卷轴的mac适配版 mac系统也能玩到自己想玩的游戏 链接:https://pan.baidu.com/s/1eNk6NBpJOv-ZEWZDsjsqzw 提取码在page文件里(文件很大,如果没有会员或者科学下载方法的不要浪费积分啦,当然也可以先马下来)
上古卷轴5主程序
自地球形成以来,其在广袤无垠的宇宙中扮演着一个特别而微小的角色。宇宙的深邃无边,无数的...东北师范大学的这些课程笔记,为我们提供了一个全面了解地球上古中古史的视角,成为了研究地球历史与生命演化的宝贵资料。
标题中的"MenuEx.zip"包含了一个上古时代的MFC自绘制菜单示例,它扩展了CMenu类,提供了丰富的定制选项,如颜色、字体、背景色、选中高亮以及图标添加等功能。这个类特别之处在于它能够去除系统默认的边框,消除次级...
《上古卷轴5:天际》是一款深受玩家喜爱的角色扮演游戏,其丰富的世界观、自由度极高的探索体验以及大量的模组支持是其魅力所在。"上古卷轴5声音传播补丁"是一款针对游戏的声音系统进行优化的MOD,具体名称为"Sound ...
《上古卷轴5:天际》(The Elder Scrolls V: Skyrim)是一款由Bethesda Game Studios开发并由Bethesda Softworks发行的角色扮演游戏。游戏提供了丰富的自定义选项以及强大的控制台功能,允许玩家通过输入特定的代码...