iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0
Modern Web

Go!從無到打造最佳行動網站系列 第 15

Day15 初次見面 應用程式介面 ApplicationProgrammingInterface (下)

  • 分享至 

  • xImage
  •  

api
(圖片引用from https://www.vectorcast.com/)

其實一開始我真的不知道原來還有HTTP Method的這些東西阿!今天就來看看吧!

在API設計HTTP Method

比較常見的是GET 跟 POST
GET可以透過URL將key-value放入
POST可以透過Form將input裡面的name與value傳入到伺服器中
但是較少聽到用DELETE / PUT / CONNECT / OPTIONS / HEAD 這幾個HTTP Request Methods,其實這些不常用的方法我也不是很清楚,所以透過網站上的翻譯來做個整理吧!

HEAD

這個方法,跟GET的方法一樣,最大的差別在於回伺服器回應(Response),HEAD這個方法,不會回傳body,意思是你可以送一個Request過去,但伺服器只會回應你entity headers,如果你要伺服器給你一些有用的訊息你應該要用GET來取得Response Body

PUT

使用PUT來當作HTTP Method,表示你要更新某項資料已經在你的資料庫或後端資料中,你會說這跟POST的行為有點像,確實他的意思上有點重複到了,像是Replace的概念,每次傳送都必須送出一個entity

  • 如果伺服器中沒有資料 -> 新增一筆資料
  • 如果伺服器中有資料 -> 更新一筆資料

DELETE

其實很簡單就可以明白,刪除一筆資料,話不贅述。

CONNECT

Connect的方法大多用於建立HTTP通道(httpTunnel),有點像是伺服器之間建立連線的概念吧(!? 不是很確定)

PATCH

這個方法跟前面介紹的PUT方法雷同,最大的差異在於PUT需要將所有的資料通通發過去,而PATCH不需要
伺服器如要支援PATCH需將它設定到AllowAccess-Control-Allow-Methods (for CORS)。

OPTION

通常用來取得目標Resource的限制內容,像是伺服器允許使用哪些HTTP方法,或是CORS的資訊...等等。

來源:MND web docs


上一篇
Day14 初次見面 應用程式介面 ApplicationProgrammingInterface (上)
下一篇
Day16 純、手工系列 Go (BeeGo Request篇)(上)
系列文
Go!從無到打造最佳行動網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言