Table of contents


https://bob:bobby@www.lunatech.com:8080/file;p=1?q=2#third

  • Scheme : https
  • User : bob
  • Password :bobby
  • Host address : www.lunatech.com
  • Port : 8080
  • Path : /file
  • Path parameters : p=1
  • Query parameters : q=2
  • Fragment : third
Path parameters

Path parameters 又叫 Matrix Parameters, 每個 path segment 可以有自已的 Matrix Parameters,這在 Restful style 的設計上有時會很有用。

Fragment

Fragment 是用來指出整份 URL resrouce 的某一特定部份,在網頁設計上是用來做定位用的錨點 (anchor)

保留字處理

path 跟 query string 對保留字的處理方式不一樣,所以,在做編解碼時,要分開處理

ex: 空白字元在 path 會被編成 %20 , ‘+’ 會被編成 ‘_’ ,但在 query string 空白字元會被編成 ‘+’ or ‘%20’, ‘+’ 會被編成 ‘%2B’

所以,如果有一個blue+light blue同時放在 path 跟 query string,那結果會是這樣

http://example.com/blue+light%20blue?blue%2Blight+blue

編碼、中文與 Unicode

RFC 1738 並沒有規定要用什麼樣的編碼,所以,一般會在 HTTP header 指定 encoding 或採用 HTML page encoding

Resource