URi和Url格式


1.主要的區別

url一定是有scheme

uri不一定有scheme,可以是相對和絕對的。(相對是依賴環境的)

 

2.uri的結構(3種划分)

1)[scheme:]scheme-specific-part[#fragment]

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

3)[scheme:][//host:port][path][?query][#fragment] 

 

3.一個例子說明三種結構

分析的url:http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic

    • scheme:匹對上面的兩個Uri標准形式,很容易看出在:前的部分是scheme,所以這個Uri字符串的sheme是:http
    • scheme-specific-part:很 容易看出scheme-specific-part是包含在scheme和fragment之間的部分,也就是包括第二部分的[//authority] [path][?query]這幾個小部分,所在這個Uri字符串的scheme-specific-part 是://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32& id=4 ,注意要帶上//,因為除了[scheme:]和[#fragment]部分全部都是scheme-specific-part,當然包括最前面的//;
    • fragment:這個是更容易看出的,因為在最后用#分隔的部分就是fragment,所以這個Uri的fragment是:harvic
      下面就是對scheme-specific-part進行拆分了;
      在scheme-specific-part中,最前端的部分就是authority,?后面的部分是query,中間的部分就是path
    • authority:很容易看出scheme-specific-part最新端的部分是:www.java2s.com:8080
    • query:在scheme-specific-part中,?后的部分為:stove=10&path=32&id=4
    • path:在**query:**在scheme-specific-part中,除了authority和query其余都是path的部分:/yourpath/fileName.htm
      又由於authority又一步可以划分為host:port形式,其中host:port用冒號分隔,冒號前的是host,冒號后的是port,所以:
    • host:www.java2s.com
    • port:8080


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM