這是我對於URL的認識與瞭解。


URL中文名叫做統一資源定位符,是瀏覽器尋找信息時所需的位置資源,但是大部分人容易和URI混淆下面來解釋一下URI: URI是一類更通用的資源標識符,而URL實際上是它的一個子集。但在實際上HTTP應用程序處理的只是URI的URL子集。


2>>下面介紹一下的組成部分。 url的組成主要分為3部分。

    1> 第一部分是URL方案(scheme)。方案可以告訴瀏覽器怎樣訪問服務器資源

    2>第二部分指的是服務器的位置,這部分告知web客户端資源位於何處。

    3>第三部分是資源路徑。路徑説明了請求的是服務器上哪個特定的本地資源。

    例如:http(第一部分):// www.baidu.com(第二部分)/index.html(第三部分)

所以多數URL都有同樣的:“方案:// 服務器位置/路徑” 結構。


3>>下面説一下URL的語法。

URL提供了一種定位因特網上任意資源的手段,所以有多種不同的方案(http,ftp,smtp等)來訪問,因此url的語法也會不同。

    語法如下通常有9個部分組成: <scheme>:// <user>:<password>@<host>:<port>/path;<params>?<query>#<frag>

   而對於URL最重要的是:方案(scheme),主機(host),路徑(path)。


下面詳細介紹這9個部分

     1>方案<scheme>它會告訴負責解析URL的應用程序應該使用什麼協議。另外方案組件必須以一個字母符號開始,由第一個“ :”將其與其它url部分分隔開來,方案名與大小寫無關。

     2>主機(host)與端口號(port)顧名思義主機即為你在網上獲取資源的那台服務器位置,端口組件標識了服務器正在監聽的網絡端口,對於http來説默認端口是80。


     3>用户名(user)和密碼(密碼):很多服務器需要輸入用户名的密碼才允許用户訪問數據,例如常見的FTP服務器就是這個樣子,這個比較好理解,一般按照語法規則來就是了。


     4>路徑(path)組件説明了資源位於服務器的什麼地方,可以用字符“ / ”HTTP的URL的路徑組件劃分成一些路徑短



     5>參數(params)有時訪問服務器不是簡單地主機名和路徑就能訪問的,還需要更多的信息,比如傳進一個參數,否則服務器就不會為請求提供服務。

 參數組件是URL中的名值對的列表,由字符“ ;”將其與URL中其它部分分離。



     6>查詢字符串(query):對於很多資源例如數據庫服務資源,可以通過提出問題或進行查詢來請求資源範圍,而查詢字符串也有同樣的效果。同樣查詢組件是用字符“ ?”來與URL中其它部分分離,它也是採用名值對的方式。但是名值對之間用字符“ &”來分隔。


     7>片段(frag)為了引用部分資源或資源的一個片段,URL支持使用片段(frag)組件來表示一個資源內片段。需要説明的是:HTTP服務器通常只處理整個對象,而不是對象的片段,客户端不能將片段傳送給服務器。瀏覽器從服務器獲得整個資源後,會根據片段顯示你感興趣的那部分資源。



4>>URL編碼機制

     為了避開各種不安全的字符,這種編碼機制通過一種轉義表示不安全字符,這種轉義表示法包含一個百分號(%),後面跟着兩個表示字符ASCII碼的十六位進制

       例如:字符(~)   ASCII(126(0*7e))   


5>>字符限制

     1>% 保留作為編碼字符的轉義標誌。

     2>{},|,\,^,~,[]用與各種傳輸Agent代理等。





6>>有關方案問題。

      1>http :超文本傳輸協議方案,除了沒有用户名和密碼之外,與通用的URL格式相符,默認端口為80.

          基本格式:http://<host>:<port>/<path>?<query>#<frag>


     2>https: 它與http的唯一區別是在於https方案使用了網景的SSL,SSL為http連接提供了端到端的加密機制,其語法與http語法相同,默認端口是403.


     3>mailto:Mailto URL指向的是E-mail地址。基本格式為:mailto:<RFC-822-addr-spec>。例如:mailto:joe@joes-ds.com


     4>ftp文件傳輸協議:可以用來從FTP服務器上下載或上傳文件,並獲取ftp服務器上的目錄結構內容列表。

                     基本格式為:ftp:// <user>:<password>@<host>:<port>/path;<params>


    5>rtsp,rtspu: RTSP URL 通過實時流傳輸協議解析音頻媒體資源的標識符,方案中的u拜師它使用UDP協議 來獲取資源

                    基本格式為:rtsp:// <user>:<password>@<host>:<port>/path

                                            rtspu:// <user>:<password>@<host>:<port>/path