iT邦幫忙

2

請問 RFC 5789 是什麼

原文:[不是工程師] 休息(REST)式架構? 寧靜式(RESTful)的Web API是現在的潮流?

今天看到REST / RESTful、HTTP協定

GET
POST
PUT
PATCH
DELETE
等幾種method

GET / POST 我們用得很多所以沒什麼問題,DELETE與字意上相符所以不難理解。其中讓人困擾的是PATCH & PUT,要解釋它們必須參考定義(RFC 5789)。

直接搜尋 RFC5789 得到...
幾個應用程序擴展了超文本傳輸協議(HTTP)需要功能來進行部分資源修改。現有的HTTP PUT方法僅允許完全替換文檔。該提議添加了新的HTTP方法PATCH,以修改現有的HTTP資源。

搜尋 RFC 得到
請求意見稿(英語:Request for Comments,縮寫:RFC)是由網際網路工程任務組(IETF)發布的一系列備忘錄。檔案收集了有關網際網路相關資訊,以及UNIX和網際網路社群的軟體檔案,以編號排定。目前RFC檔案是由網際網路協會(ISOC)贊助發行。

但是看完這一大堆東西...
我還是搞不清楚 RFC5789 是什麼東東

請問...RFC5789 到底是什麼呢

froce iT邦大師 2 級 ‧ 2019-10-27 10:05:30 檢舉
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/PUT
PUT的行為類似create or update,而且update是完整替換原本的資源,PATCH則是只能update部分資源。

2 個回答

3
dragonH
iT邦大師 1 級 ‧ 2019-10-27 13:48:20
最佳解答

RFC 你可以理解成一堆很厲害的文件

這些 很厲害的文件

有一些會被制定 internet standard 的人(組織)參考並納入

e.g. http1.1, 或是你提到的 http patch method

但並不是所有的 rfc 最後一定會變成 internet standard

RFC 5789 裡面就有提到 put 跟 patch 的差別

The difference between the PUT and PATCH requests is reflected in the
   way the server processes the enclosed entity to modify the resource
   identified by the Request-URI.  In a PUT request...

所謂的 REST/RESTful 不是一種規定或標準

是一種參考(風格)

你可不可以用 get 來做新增資料? 當然可以

你可不可以用 post 來刪除資料? 也是可以

不過這樣

你的 api 就不能說是 RESTful

看更多先前的回應...收起先前的回應...

歐!! 有點...像ESlint 這種感覺嗎?

dragonH iT邦大師 1 級 ‧ 2019-10-27 14:19:49 檢舉

ESlint 比較算一個工具

應該不會拿來這樣比/images/emoticon/emoticon13.gif

好窩... (沉入 laravel的世界當中)/images/emoticon/emoticon46.gif

小魚 iT邦大師 1 級 ‧ 2019-10-27 14:48:32 檢舉

Restful是一種架構,
拿MVC來比說不定還比較像,
誰說一定要用MVC或MVVM或其他的來寫?
我也可以用MVW(Model View Whatever)啊!
大部份的程式碼都是用MVW架構寫出來的,
(說白一點就是:隨便寫)

只不過有人提出這樣(Restful)的概念,
覺得這樣子做比較好.

小魚 iT邦大師 1 級 ‧ 2019-10-27 14:50:55 檢舉

Laravel是讓你方便寫出Restful風格,
但是不代表你用Laravel寫出來的就一定是Restful,
這就是所謂的防呆不防蠢 (?

阿展又呆又蠢/images/emoticon/emoticon20.gif

2
小魚
iT邦大師 1 級 ‧ 2019-10-27 12:39:30

/images/emoticon/emoticon06.gif

我要發表回答

立即登入回答