今天我們使用 express 框架介紹一下 REST 路由規則,REST 是一種 http 協定的網路應用,http 提供了八種方法使用:
(取得來源為 wiki : http://www.wikiwand.com/zh-tw/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE)
OPTIONS:這個方法可使伺服器傳回該資源所支援的所有HTTP請求方法。用'*'來代替資源名稱,向Web伺服器傳送OPTIONS請求,可以測試伺服器功能是否正常運作。
HEAD:與GET方法一樣,都是向伺服器發出指定資源的請求。只不過伺服器將不傳回資源的本文部份。它的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中「關於該資源的資訊」(元資訊或稱元資料)。
GET:向指定的資源發出「顯示」請求。使用GET方法應該只用在讀取資料,而不應當被用於產生「副作用」的操作中,例如在Web Application中。其中一個原因是GET可能會被網路蜘蛛等隨意存取。參見安全方法
POST:向指定資源提交資料,請求伺服器進行處理(例如提交表單或者上傳檔案)。資料被包含在請求本文中。這個請求可能會建立新的資源或修改現有資源,或二者皆有。
PUT:向指定資源位置上傳其最新內容。
DELETE:請求伺服器刪除Request-URI所標識的資源。
TRACE:回顯伺服器收到的請求,主要用於測試或診斷。
CONNECT:HTTP/1.1協定中預留給能夠將連線改為管道方式的代理伺服器。通常用於SSL加密伺服器的連結(經由非加密的HTTP代理伺服器)
而 express 網頁框架也針對 http 請求方法設計路由的函數,以下是對照表:
通常在設計 rest 時,常用的是 get (取得), post (新增), put (更新), delete (刪除),這四種有不同特點,其中以 get 的請求並不會對資料庫造成變動,因為請求時是與伺服器端要資料,另外以 post 這個方法在做重複請求時會對資料庫的寫入動作會不相同。
參考資料:
http://www.wikiwand.com/zh-tw/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE