HTTP權威指南筆記-2.URL與資源

2.1 URI與URL、URNhtml

  1. URL是瀏覽器尋找信息時所需的具體位置。URl是人們對HTTP和其餘協議的經常使用訪問點:瀏覽器指向一個URL,瀏覽器就會發送適當的協議報文向服務器獲取內容。
  2. URI是一類更通用的資源標識符,URL是它的子集,URI的兩個主要子集:URL、URN。
  3. URL是經過描述資源的位置來獲取資源,而URN是經過資源的名字來獲取資源(與所處位置無關)。
  4. URL由三部分組成:
    • 第一部分:協議類型、方案
    • 第二部分:服務器名稱、位置
    • 第三部分:所需獲取資源的具體路徑

    例:http://www.yahoo.com/image/logo.gifsql

    上例中:第一部分:http://數據庫

        第二部分:www.yahoo.com數組

        第三部分:image/logo.gif瀏覽器

 

2.2 URL的語法服務器

       URL基本由九部分組成:方案、用戶、密碼、主機、端口、路徑、參數、查詢、片斷網絡

  • 方案

    方案實際上就是規定如何訪問資源的主要標識符,負責告訴解析URL的應用程序使用的是什麼協議。ide

    方案組件必須以字母符號開始,且在URL中由第一個:將其與主體部分分開。加密

  • 主機與端口

    在URL中主機能夠是相似「www.baidu.com」這種服務器名稱,也能夠是「192.168.1.3」這種IP地址,主要標識的是URL訪問的具體服務器視頻

    端口組件標識了服務器正在監聽的網絡端口。

  • 用戶名和密碼

    不少服務器是須要用戶名和密碼才能夠登陸訪問數據的,舉例以下:

      ftp://ftp.prep.ai.edu/pub/gnu        

        該例沒有用戶名和密碼部分,只是標準的方案、主機和路徑,若是所訪問的服務器須要用戶名和密碼而用戶沒有主動填寫,它一般會自動添加默認用戶名(anonymous)和密碼(IE會設置爲IEUser)。

      ftp://anonymous@ftp.prep.ai.edu/pub/gnu         

        該例是anonymous爲用戶名,用@將用戶名和其餘部分隔離開。

      ftp://anonymous:password@ftp.prep.ai.edu/pub/gnu

        該例和上例相似,只是增長了密碼組件部分,用戶名和密碼之間用「:」隔開。

  • 路徑

    路徑是URL訪問服務器資源時尋找資源的具體位置的路徑,其標識用「/」將各路徑段鏈接在一塊兒,組成完整路徑。

  • 參數

    對不少方案來講,只有簡單的用戶名、密碼、路徑等信息是不足夠的,還須要某些參數,負責解析URL的應用程序能夠根據這些參數來訪問資源。

    好比FTP協議有兩種傳輸模式,二進制和文本形式,在具體使用總,如何選擇傳輸模式就是靠參數組件來設置了。

    其格式爲:由「;」將其與其餘部分分隔開,例:ftp://ftp.prep.ai.edu/pub/gnu;type=d

  • 查詢字符串

    訪問某些資源時可能其內容過於龐大,而訪問所需資源是某些小部份內容,此時須要查詢字符串。

    例:訪問數據庫。假如數據庫內有物品清單,並能夠對清單內物品進行查看是否有貨,則能夠用下列URL訪問

      查看編號爲12341的物品:http://www.sqlwp.com/store?item=12341

      其格式爲:用符號「?」將其與其餘組件部分隔開,如需多個參數則在參數與參數間用符號「&」隔開。

    例:http://www.sqlwp.com/store?item=12341&color=blue

  • 片斷

    有些資源類型,好比HTML,除資源級能夠劃分外,還能夠作進一步劃分。

    好比訪問資源是一個大型帶有章節的文檔,理想的狀況時訪問某個章節,此時須要使用片斷組件。

    片斷組件掛在URL的右手邊,最前面加個符號#與其餘部分分割。

    例:http://www.sqlwp.com/store#color=blue

2.3 方案

  • http:超文本傳輸協議方案,除沒有用戶名和密碼外,與通用URL格式相符,默認端口80.

    格式:http://host:port/path?query#frag

    示例:http://localhost.com:80/index.html

  • https:與http類似,惟一區別爲添加了網景SSL,爲http提供了加密機制,默認端口443.

    格式:https://host:port/path?query#frag

    示例:https://localhost.com:80/index.html

  • mailto:URL指向的是E-mail地址,

    格式:mailto:RCF-822-addr-spec

    示例:mailto:joe@joes-hard.com

  • ftp:文件傳輸協議,可用於上傳及下載文件方面等用途。

    格式:ftp://user:password@host:port/path;param

    示例:ftp://anonymous:password@ftp.prep.ai.edu/pub/gnu

  • rtsp、rtspu:RTSP是能夠經過實時流傳輸協議解析的音視頻媒體資源的標識符。

    格式:rtsp://user:password@host:port/path

    示例:rtsp://www.joes-hard.com:554/video

  • file:訪問服務器的文件資源,如省略主機名,則訪問默認正在使用的本地主機。

    格式:file://host/path

    示例:file://localhost/words/111.doc

  • news:我也沒懂,也沒地用到
  • telnet:用於訪問交互式業務,可經過telnet協議訪問的交互式應用協議。

    格式:telnet://user:password@host:port/

    示例:telnet://www.joes-hard.com:554/

相關文章
相關標籤/搜索