## 第一章: 使用統一的接口
已閱: Page9
## 第13章: 可擴展性與版本控制
## 第4章: 設計URI
對于過期的URI的處理:
前期(使用該URI的用戶比較多時), 使用301重定向, 在Response header中制定Location
后期(該URI訪問很少, 但還有訪問): 使用410(Gone) 或者 404(Not Found), 如果使用410, 還需要制定Expires時間為未來的某個點
然后可以在response body中添加一些描述信息
## 第5章: 如何分配鏈接關系類型
表: 一些常用的已注冊鏈接關系類型
```
self: 鏈接到資源的首選URI
alternate: 為相同資源提供另一個版本的鏈接
edit: 鏈接到編輯資源的URI
related: 鏈接到相關的資源上
previous和next: 鏈接到一系列有序資源中的上一個或者下一個
first/last: 鏈接到一系列資源的第一個或最后一個
自定義(url地址):
{
“link”: {
“rel”: “http://example.org/rels/book“,
“href”: “http://example.org/book/978-0452286757”
}
}
```
### 如何使用鏈接來管理應用程序的流程?
TODO
### 如何在客戶端中使用鏈接?
TODO
## 第8章: 如何針對查詢設計URI
## 第9章: Web緩存
如何保持新鮮且溫暖的緩存?
只有GET/HEAD/POST請求可以設置緩存, 但只有GET/HEAD才能真正的緩存數據
如何配置Nginx, 使POST/DELETE/PATCH請求會清除GET/HEAD獲取數據產生的緩存呢?
即使實現了上面, 還是不能保證緩存的’新鮮’和’溫暖’?
1. 服務器可能有定時任務的執行, 它會更新數據, 這些數據無法更新HTTP服務器中的緩存
2. 廣泛分布的數據存儲在一天里可能會周期性地進行復制, 數據的改變不會反映在全部的緩存里
3. 可能包含客戶端通過非HTTP的方式更新數據, 此時緩存的數據不會同步更新
一種可能的解決方式: 實現觸發器來監控數據庫, 隨后運行一個定時任務通過緩存發起無條件GET請求(設置Cache-Control: no-cache; Pragma: no-cache, 此時緩存會被清除掉)
要進行部分更新, 除了使用PATCH(規范不完備), 應該使用POST而不是PUT. 因為PUT是用來執行整個更新的
- 職業生涯
- 如何提升你的能力?給年輕程序員的幾條建議
- 那些年,那些事
- 阿里巴巴離職DBA 35歲總結的職業生涯
- 人生的四種選擇
- 程序人生的四個象限和兩條主線
- 幾縷代碼與閑思
- 張小龍-學習筆記
- Web前端
- 移動Web手冊
- 精通CSS: 高級Web標準解決方案
- 悟透JavaScript
- 架構設計
- 大型網站技術架構
- 周愛民-大道至簡
- RESTful Web Services Cookbook - 讀書筆記
- 大話設計模式
- Unix編程藝術
- 把程序員修煉之道讀薄
- 學習能力
- 奇特的一生:讀書筆記
- zhh-看源碼那些事
- 一個創業者怎么看待讀書和寫作
- 程序員修煉之道
- 2015/1/5 頭腦風暴
- 書單計劃
- 2014年我讀過的那些書
- 我的后端開發書架2015
- 別人的書單
- 讀書筆記
- 浪潮之巔
- 達內時期自己筆記整理
- Effective Java
- 打造facebook: 讀書筆記
- 面試整理
- 阿里面試的一點感受
- 騰訊的三輪面試
- 三十之惑–面霸
- 前端面試問題匯總
- 八爪網絡面試總結
- 2015面試總結總結
- 找工作流程梳理
- 最全前端面試問題及答案總結
- 前端開發面試題收集
- 百度web前端--2015一面
- 百度web前端--2015二面