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

看板Web_Design作者 (太陽拳vs野球拳)時間9年前 (2016/03/16 00:24), 9年前編輯推噓1(103)
留言4則, 1人參與, 最新討論串3/3 (看更多)
嚴格來說有三個地方都要遵守規定 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 的精神。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.147.56.231 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1458059041.A.D22.html

03/16 00:30, , 1F
網路上似乎沒有明確的REST"定義"
03/16 00:30, 1F

03/16 00:31, , 2F
之後WIKI有一段世說
03/16 00:31, 2F

03/16 00:31, , 3F
需要注意的是,REST是設計風格而不是標準。
03/16 00:31, 3F
所以才說是api要規定而不是RESTful被規定 想想你一個api在設計規範時,無論post, get 等都能拿,那就等同你根本沒再用RESTful 也可以比喻成:你不會拿singleton pattern硬跟我說是factory pattern吧 它還是有一定的理解跟邏輯規則(但factor pattern很多種) ※ 編輯: dlikeayu (27.147.56.231), 03/16/2016 02:23:00

03/17 00:06, , 4F
沒有挑戰你的意思,只是討論和補充吧或者說加強語氣
03/17 00:06, 4F
文章代碼(AID): #1Mw3SXqY (Web_Design)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
文章代碼(AID): #1Mw3SXqY (Web_Design)