亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

URI和URL的區別

2024-04-27 15:19:31
字體:
來源:轉載
供稿:網友

URI和URL的區別

這兩天在寫代碼的時候,由于涉及到資源的位置,因此,需要在java Bean中定義一些字段,用來表示資源的位置,比如:imgUrl,logoUri等等。但是,每次定義的時候,心里都很糾結,是該用imgUrl還是imgUri呢?

同樣的,另外一個問題:String HttpServletRequest.getRequestURI();和StringBuffer HttpServletRequest.getRequestURL();返回的內容有何不同?為什么會如此?

帶著這些問題到網上去搜了下,沒發現讓自己看了明白的解釋,于是,想到了Java類庫里有兩個對應的類java.net.URI和java.net.URL,終于,在這兩個類里的javadoc里找到了答案。

URIs, URLs, and URNs

首先,URI,是uniform resource identifier,統一資源標識符,用來唯一的標識一個資源。而URL是uniform resource locator,統一資源定位器,它是一種具體的URI,即URL可以用來標識一個資源,而且還指明了如何locate這個資源。而URN,uniform resource name,統一資源命名,是通過名字來標識資源,比如mailto:java-net@java.sun.com。也就是說,URI是以一種抽象的,高層次概念定義統一資源標識,而URL和URN則是具體的資源標識的方式。URL和URN都是一種URI。

在Java的URI中,一個URI實例可以代表絕對的,也可以是相對的,只要它符合URI的語法規則。而URL類則不僅符合語義,還包含了定位該資源的信息,因此它不能是相對的,schema必須被指定。

ok,現在回答文章開頭提出的問題,到底是imgUrl好呢,還是imgUri好?顯然,如果說imgUri是肯定沒問題的,因為即使它實際上是url,那它也是uri的一種。那么用imgUrl有沒有問題呢?此時則要看它的可能取值,如果是絕對路徑,能夠定位的,那么用imgUrl是沒問題的,而如果是相對路徑,那還是不要用ImgUrl的好。總之,用imgUri是肯定沒問題的,而用imgUrl則要視實際情況而定。

第二個,從HttpServletRequest的javadoc中可以看出,getRequestURI返回一個String,“the part of this request’s URL from the PRotocol name up to the query string in the first line of the HTTP request”,比如“POST /some/path.html?a=b HTTP/1.1”,則返回的值為”/some/path.html”?,F在可以明白為什么是getRequestURI而不是getRequestURL了,因為此處返回的是相對的路徑。而getRequestURL返回一個StringBuffer,“The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.”,完整的請求資源路徑,不包括querystring。

總結一下:URL是一種具體的URI,它不僅唯一標識資源,而且還提供了定位該資源的信息。URI是一種語義上的抽象概念,可以是絕對的,也可以是相對的,而URL則必須提供足夠的信息來定位,所以,是絕對的,而通常說的relative URL,則是針對另一個absolute URL,本質上還是絕對的。

注:這里的絕對(absolute)是指包含scheme,而相對(relative)則不包含scheme。

URI抽象結構     [scheme:]scheme-specific-part[#fragment]

[scheme:][//authority][path][?query][#fragment]

authority為[user-info@]host[:port]

參考資料:

http://docs.Oracle.com/javase/1.5.0/docs/api/java/net/URI.html

http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html

ps:

java.net.URL類不提供對標準RFC2396規定的特殊字符的轉義,因此需要調用者自己對URL各組成部分進行encode。而java.net.URI則會提供轉義功能。因此The recommended way  to manage the encoding and decoding of URLs is to use  java.net.URI. 可以使用URI.toURL()和URL.toURI()方法來對兩個類型的對象互相轉換。對于HTML FORM的url encode/decode可以使用java.net.URLEncoder和java.net.URLDecoder來完成,但是對URL對象不適用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品夜间视频香蕉| 亚洲成人网在线观看| 亚洲欧美日韩区| 久久精品中文字幕| 亚洲天堂视频在线观看| 亚洲丝袜av一区| 免费成人高清视频| 亚洲a级在线观看| 久久色精品视频| 亚洲午夜精品久久久久久久久久久久| 色老头一区二区三区| 国产欧美va欧美va香蕉在线| 精品国产美女在线| 黄色成人在线免费| 国产伊人精品在线| 在线观看亚洲视频| 98视频在线噜噜噜国产| 午夜精品一区二区三区视频免费看| 午夜欧美不卡精品aaaaa| www.亚洲男人天堂| 亚洲成人xxx| 成人深夜直播免费观看| 日韩欧美在线观看视频| 自拍偷拍亚洲欧美| 亚洲第一福利网| 国产精品视频资源| 555www成人网| 亚洲一区二区精品| 91久久精品国产91久久| 欧美理论电影在线播放| 欧美一级成年大片在线观看| 欧美在线亚洲一区| 国内精品小视频在线观看| 欧美黑人极品猛少妇色xxxxx| 日韩成人黄色av| 久久天天躁狠狠躁夜夜躁2014| 国产成人久久精品| 久久精品久久久久电影| 久久视频在线视频| 精品视频在线播放| 亚洲最大成人在线| 欧美激情一区二区三级高清视频| 日韩中文在线视频| 日韩av电影手机在线| 国自产精品手机在线观看视频| 91牛牛免费视频| 狠狠综合久久av一区二区小说| 在线观看久久av| 亚洲精品在线视频| 免费av在线一区| 国a精品视频大全| 91嫩草在线视频| 欧洲永久精品大片ww免费漫画| 久久夜色精品国产| 最近2019中文字幕大全第二页| 日韩精品中文字幕久久臀| 在线精品91av| 欧美日本中文字幕| 欧美激情亚洲激情| 欧美性在线观看| 欧美疯狂做受xxxx高潮| 一本一本久久a久久精品牛牛影视| 欧美一二三视频| 日韩av手机在线看| 欧美成人在线免费视频| 亚洲精品永久免费精品| 国产亚洲精品久久久优势| 亚洲一区国产精品| 亚洲国产精品va在线看黑人| 亚洲第一福利在线观看| 亚洲成人精品视频在线观看| 色妞色视频一区二区三区四区| 久久久精品久久久久| 中文字幕久热精品视频在线| 日韩在线视频线视频免费网站| 欧美性理论片在线观看片免费| 亚洲欧美激情视频| 亚洲一区二区三区久久| 久久精品国产96久久久香蕉| 亚洲国产精品va在线观看黑人| 精品亚洲aⅴ在线观看| 91精品视频在线看| 久热在线中文字幕色999舞| 一区二区三区黄色| 欧美日韩中文在线观看| 国产成人精品久久久| 91中文字幕在线观看| 97视频在线观看视频免费视频| 欧美日韩在线第一页| 欧美中文在线视频| 久久久91精品国产| 亚洲精品电影网在线观看| 久久手机免费视频| 日韩av色在线| 日本精品视频在线播放| 在线观看国产精品91| 久久久久久久一区二区三区| 成人精品一区二区三区| 久久久999精品免费| 国产91精品高潮白浆喷水| 欧美大片网站在线观看| 国产成人av网址| 欧美大学生性色视频| 欧美激情高清视频| 亚洲国产婷婷香蕉久久久久久| 欧美激情免费视频| 日本一欧美一欧美一亚洲视频| 久久久成人的性感天堂| 亚洲国产精品va在线| 国产精品美女www爽爽爽视频| 欧美成人合集magnet| 国产精品一久久香蕉国产线看观看| 日韩av观看网址| 日韩成人中文电影| 在线播放国产一区中文字幕剧情欧美| 欧美日本在线视频中文字字幕| 国产日韩欧美中文| 中文在线资源观看视频网站免费不卡| 成人国产亚洲精品a区天堂华泰| 日韩在线视频观看正片免费网站| 97**国产露脸精品国产| 欧美乱妇高清无乱码| 日韩精品免费电影| 8090成年在线看片午夜| 欧美一区三区三区高中清蜜桃| 日韩视频亚洲视频| 亚洲成人激情小说| 欧美黑人视频一区| 精品欧美aⅴ在线网站| 69av成年福利视频| 色哟哟入口国产精品| 国产精品欧美一区二区| 日韩在线视频免费观看| 伦理中文字幕亚洲| 欧美自拍视频在线| 欧美影院在线播放| 日韩中文在线中文网三级| 欧美日韩国产综合新一区| 日韩精品欧美国产精品忘忧草| 久久久最新网址| 国产精品久久久久aaaa九色| 97超级碰碰人国产在线观看| 中文字幕日韩精品在线观看| 美日韩在线视频| 成人精品一区二区三区电影黑人| 亚洲免费成人av电影| 欧美黄色性视频| 精品无码久久久久久国产| 亚洲天堂影视av| 国产精品视频一区二区高潮| 国产日韩亚洲欧美| 97在线视频国产| 欧美精品一区三区| 欧美一级淫片丝袜脚交| 精品激情国产视频| www.亚洲男人天堂| 欧美色欧美亚洲高清在线视频| 久久久久久国产精品久久| 日韩国产高清污视频在线观看| 国产精品视频成人| 欧美精品久久久久久久久久| 亚洲综合日韩中文字幕v在线| 欧洲精品在线视频| 另类视频在线观看|