標籤:ftp 整理 大寫 host ip地址 建議 協議 encode 目的
URL 規範
- 不用大寫;(強制)
- 用中杠-不用下杠_;(強制)
- 參數列表要encode,編碼使用utf-8;(強制)
- URI中的名詞表示資源集合,使用複數形式。(建議)
- 增加版本號碼(建議)
URI中統一使用小寫字母
根據RFC3986定義,URI是對大小寫敏感的,所以為了避免歧義,我們盡量用小寫字元。但主機名稱(Host)和scheme(協議名稱:http/ftp/...)對大小寫是不敏感的。
URI中盡量使用連字號"-"代替底線"_"的使用
連字號"-"一般用來分割URI中出現的字串(單詞),來提高URI的可讀性,例如:
http://api.example.restapi.org/blogs/mark-masse/entries/this-is-my-first-post
使用底線"_"來分割字串(單詞)可能會和連結的樣式衝突重疊,而影響閱讀性。但實際上,"-"和"_"對URL中字串的分割語意上還是有些差異的:"-"分割的字串(單詞)一般各自都具有獨立的含義,可參見上面的例子。而"_"一般用於對一個整體含義的字串做了層級的分割,方便閱讀,例如你想在URL中體現一個ip地址的資訊:210_110_25_88 .
URL增加版本號碼
根據項目的更新,原來的URL可能被多重專案所使用,需要相容原有系統的情況下,支援新業務。
提供給內部系統使用的api,建議使用`/api/v1/`開頭, 提供給前端APP使用的api,建議使用`/web-api/v1/`開頭
/api/v1/loan/web-api/v1/loan
資源集合 vs 單個資源
URI表示資源的兩種方式:資源集合、單個資源。
資源集合:
/zoos //所有動物園/zoos/1/animals //id為1的動物園中的所有動物
單個資源:
/zoos/1 //id為1的動物園
避免層級過深的URI
/在url中表達層級,用於按實體關聯關係進行對象導航,一般根據id導航。
過深的導航容易導致url膨脹,不易維護,如 GET /zoos/1/areas/3/animals/4,盡量使用查詢參數代替路徑中的實體導航,如GET /animals?zoo=1&area=3;
URL 規範 整理