標籤:dex 請求 頁面 使用者 格式 流操作 gui type passwd
1、URI與URL的定義 URI:統一資源標誌符(Uniform Resource Identifier)
URL:統一資源定位器(uniform resource location) 說白了,URI與URL都是定位資源位置的,就是表示這個資源的位置資訊,就像經緯度一樣可以表示你在世界的哪個角落。URI是一種寬泛的含義更廣的定義,而URL則是URI的一個子集,就是說URL是URI的一部分。 換句話說,每個URL都是URI,但是不是每個URI都是URL的。他們之間最明顯的不同就是在java.net.URI你只能看到他的一些屬性,他只是表示一個位置,但是你沒有辦法通過URI擷取到這個對象的流,但是URL就不同了。java.net.URL該類提供方法(openConnection()),通過該方法我們可以通過IO流操作他。但是URI中我貌似沒看到相關的方法。 2、URL的文法 URL與URI很像,兩者的格式幾乎差不多,但是我們接觸的還是URL比較多,就以URL為例說明 URL提供了一種訪問定位網際網路上任意資源的手段,但是這些資源可以通過不同的方法(例如HTTP、FTP、SMTP)來訪問,不管怎樣,他都基本上由9個部分構成: <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<fragment> scheme:擷取資源使用的協議,例如http、ftp等,沒有預設值 user:password:使用者名稱與密碼,這個是一個特殊的存在,一般訪問ftp時會用到,他顯示的表明了訪問資源的使用者名稱與密碼。但是這個可以不寫,不寫的話可能會讓你輸入使用者名稱密碼 host:主機,訪問那台主機,有時候可以是IP,有時候是主機名稱,例如www.baidu.com port:連接埠,訪問主機時的連接埠,如果http訪問預設80,可以省略。 path:通過host:port我們能找到主機,但是主機上檔案很多,通過path則可以定位具體檔案。例如www.baidu.com/file/index.html。則path是/file/index.html,表示我們訪問/file/index.html這個檔案,他很像linux上的路徑。 params:這個很少見,主要作用就是像伺服器提供額外的參數,用來表示本次請求的一些特性。例如ftp傳輸模式有兩種,二進位和文本,你肯定不希望使用文本形式傳輸二進位圖片,這樣你的圖片下載下來後可能沒法看了。為了嚮應用程式提供更豐富的資訊,URL中有個專門的部分來表示這種參數。例如ftp://file.qiandu.com/pub/guid.pdf;type=d其中的type=d就是params query:通過get方式請求的參數,例如:www.qiandu.com/index.html?username=dgh&passwd=123 fragment:例如www.qiandu.com/index.html#1。當html頁面比較長時,我們通常會將其分為好幾段,#1就可以 快速定位到某一段。
URI與URL