Re: [問題] 關於REST的觀念

作者: dlikeayu (太陽拳vs野球拳)   2016-03-16 00:23:57
嚴格來說有三個地方都要遵守規定
server 檢查header 的型式是否符合該api規定 (get post put delete)(一個api擇1),和
application/json,application/xml(擇1)
確定符合規範才交由後端(程式部份)的路由來處理
沒有的話就會直接擋掉proxy至40x錯誤,省掉應用端跑一次程序的資源
(跑高突發流量很重要,基本上避開cache後,你請求至後端應用時,thread就開始跑,記
憶體就開始吃)
在application端(PHP, .Net, Python(Dijango), Ruby(rails), Java(struts2))
路由的程式當中再同上檢驗一次(免得以後移交主機或擴充時,server那有漏洞)每支api
的規範透過程式來決定是否處理或跳轉頁面
Client端,也就是請求端,也是照規定予以請求
一般你的RESTful api文件出來後,負責該職務的遵守來設定即可(但我想有非常非常非常
非常非常多的公司只做到三分之二甚至三分之一,可能市場小遇不到高突發流量/安全性
問題…),最後再走SSL加密傳輸;沒照規定的request請求根本就進不去,所以我想原PO
真正問題是各領域的細節從來沒有人讓你知道。
※ 引述《xacross (xacross)》之銘言:
: ※ 引述《quasi (嘉嘉有本難念的經)》之銘言:
: : 如題
: : 查了一個小時還是覺得有點抽象
: : post get 這兩個我都用過
: : 可put delete我就完全沒用過了
: : 實務上 撈取資料我都用 GET,傳送表單則用POST
: : 因為GET較快,但不安全;POST較安全。
: POST 一樣是不安全的,攔截 HTTP Request 一樣可以直接看到資料,
: 真是要安全的話都要透過 https
: : 但我其實不是很了解確切的差別 ..
: : 問學長也都沒得到滿意的答覆
: : 上網查也幾乎都是英文,英文真的滿需要再加強的 。。
: : 現在主要有兩個問題想請教
: : 1.REST的概念
: : 2.post get put delete差異,使用時機
: : 有勞各位大大了
: 1.
: REST 是一種網路服務操作的概念,假設你的網站現在要設計管理使用者的資料方式。
: 新增、刪除、更新、讀取使用者,你會對下面這個網址做 POST, DELETE, PUT, GET
: http://foo.com/user , 注意你的納址是只有 user(單一名詞),
: 取得使用者資料用 GET 方式,
: 而不是設計一個網址叫 http://foo.com/get_user (這個網址不符合 REST 精神,
: 因為你是要「取得」user 的資料,用 GET 就已經可以表示"取得"的動作,不必
: 再網址上重複)
: 這樣的設計,可以透過只要更改 HTTP METHOD 就知道要做什麼操作
: 2.
: 網頁程式最常做的 CRUD 動作 (create, read, update, delete)
: 對應到 REST 就是 POST, GET, PUT, DELETE。
: 注意,不是說 create 就只能用 POST,你也可以用 GET 去 create 資料,
: 只是這樣子就沒有符合 REST 的精神。
作者: GoalBased (Artificail Intelligence)   2016-03-16 00:30:00
網路上似乎沒有明確的REST"定義"之後WIKI有一段世說需要注意的是,REST是設計風格而不是標準。沒有挑戰你的意思,只是討論和補充吧或者說加強語氣

Links booklink

Contact Us: admin [ a t ] ucptt.com