重庆时时彩骗局报道 3v重庆时时彩下载 重庆时时彩1-5球 重庆时时彩组六怎么玩能挣钱 重庆时时彩网上平台是假的吗 重庆时时彩app分析软件 新时时彩是怎么开奖的 重庆时时彩预测2 时时彩内部管理计划群 360重庆老时时彩走势图表 时时彩漏洞教程 重庆时时彩开奖的 重庆时时彩平台高返点 重庆时时彩平刷组六 玩重庆时时彩心态

URI 和 URL的一些研究筆記

NewImage

1. 關鍵字回顧:

RFC(Request For Comments) ,RFC文檔是一系列關于Internet(早期為ARPANET)的技術資料匯總,于1969年開始發布。它制定了我們很多常見和不常見的Internet的各種文字資料和規范。


URI(Universal Resource Identifiers) 統一資源標識符, RFC 文獻1630中定義了它詳細的規范(1994年6月)

|- URL(Uniform Resource Locators) 統一資源定位符,RFC文獻1738中定義了它詳細的規范(1994年12月)


URI的規范中,資源描述文字,只允許使用字母,數字,安全字符,特殊字符,和轉義字符

轉義字符在URL中規定是使用%和兩個hex進行表示,所以也就是為什么瀏覽器的form post會自動進行轉義成%xx的關系而不使用unicode常用的%uxxxx(同時ECMAScript v3也不推薦在js中使用escape)。

 

NewImage

但是值得注意的是在URI中,空格是作為保留字的,所以URI規范中空格被輔以一個快速標記符號(short hand notation)來進行標識,就是我們看到的+號。所以在php中提供的urlencode方法是為了把字符串轉換成URI規范用的, 保留空格轉換成+號,可以模擬出瀏覽器form post的結果。

 

2. 說說 URL

URL 其實是 URI 中的一個子集,URI是一個很寬泛的定義,而且也在URI的基礎上做了自己的特殊規范,例如

NewImage

另外 URL 中把 # 規定成錨點是用來定位使用,使用了URI規定的保留字中的一個字符。

當然URL的escape也遵循了URI的規范使用 %和兩個hex的格式。

值得注意的是URL的保留字和URI是不一樣的,這些字符都是有特殊意義的

NewImage

有沒有注意到空格在里面?在URL規范中,空格只是認為不安全(unsafe)的存在,因為可能會因為排版和打印關系,可能會被忽略,所以URL中是需要把空格轉換成%20的。對應的php提供的rawurlencode 方法是用來把字符串轉換成URL的標準。

JS中的 encodeURI和encodeURIComponent 對字符的轉義,雖然也是按照URI規范轉義,但是它并沒還有轉換空格成+號,而是%20,后者會把URI的保留字; : / ?也進行轉義。為什么瀏覽器和流行的server遇到 “ “,%20,+ 都會轉換成空格?其實是為了更好兼容URI標準。

其實很多流行的http server都已經根據標準自動把url進行decode后給到后面的CGI進行處理,而我們自己的server很多時候需要開發來對這些進行decode。如果對這些標準不了解就很容易在decode的時候使用錯誤的decode手段。

而unicode目前使用場景最多的是在我們的腳本語言和頁面展示中,為了支持更寬的字符集,用一種統一的編碼來規范處理文字而使用,瀏覽器會根據資源的定義(charset) 對目標的文字先進行unicode轉義后再進行統一的處理,這樣就可以保證一個utf-8 的頁面也可以同時支持請求GB2312的資源,而不會因此顯示出錯。

 

3. 附件:

除了URI和URL以外,還有一個不太流行的URN(Uniform Resource Name), 有興趣的同學可以自己研究:P,它同樣也是屬于URI的子集。



[本日志由 puterjam 于 2012-12-27 03:56 PM 更新]
上一篇: HTML5 重力感應試玩~
下一篇: 關于MacOS下字體的一些研究
文章來自: 本站原創
引用通告: 查看所有引用 | 我要引用此文章
Tags: url rfc 標準
相關日志:
評論: 21 | 引用: 0 | 查看次數: -
約定[2012-11-23 10:22 AM | | Mail To:shaquilleyoung3@gmail.com | 116.226.236.191 | del | 回復回復]
您好,博主,可否推薦一個從text中匹配url的代碼例子了(php環境)。因為我對url標準不是太明白,不知道什么樣的正則才是符合url標準的正則。
www.pinpi.net[2012-01-05 10:44 AM | | Mail To:shsh@njsvc.com | 180.109.206.56 | del | 回復回復]
第一次學習到uri的知識,收藏了。!
無人值守換熱站www.qdhwhz.com[2011-12-20 11:11 AM | | | 60.210.106.211 | del | 回復回復]
小世界里大學問呢
天津演出服租賃www.bcsjkorea.com[2011-12-20 11:05 AM | | | 60.210.106.211 | del | 回復回復]
那就支持了吧,呵呵
www.haohaotao.cn[2011-12-19 02:25 PM | | Mail To:1231@qq.com | 183.167.177.149 | del | 回復回復]
學習了,很有用
Believe[2011-12-16 07:35 PM | | | 118.26.246.27 | del | 回復回復]
很棒的文章!支持~
www.nbshafa.com[2011-12-15 10:19 PM | | | 115.215.171.94 | del | 回復回復]
謝謝分享,學習了。。。。
天津婚紗攝影[2011-12-11 11:38 AM | | | 111.193.0.130 | del | 回復回復]
發表評論
昵 稱:
密 碼: 游客發言不需要密碼.
郵 箱:
網 址: 輸入網址便于回訪.
內 容:
驗證碼:
選 項:
雖然發表評論不用注冊,但是為了保護您的發言權,建議您注冊帳號.
字數限制 500 字 | UBB代碼 開啟 | [img]標簽 關閉
重庆时时彩规律大全
重庆时时彩骗局报道 3v重庆时时彩下载 重庆时时彩1-5球 重庆时时彩组六怎么玩能挣钱 重庆时时彩网上平台是假的吗 重庆时时彩app分析软件 新时时彩是怎么开奖的 重庆时时彩预测2 时时彩内部管理计划群 360重庆老时时彩走势图表 时时彩漏洞教程 重庆时时彩开奖的 重庆时时彩平台高返点 重庆时时彩平刷组六 玩重庆时时彩心态
长城期货软件 浙江十一选五遗漏期数 创世神曲手游能赚钱吗 美团外卖公司如何赚钱的 微博创作者平台赚钱 北单比分直播 吉林快3开奖走势图一定牛 七星体育直播 天津快乐十分8个号全中奖金多少