今天的重點會擺在介紹HTTP中常見的幾種方法
也就是GET,POST,PUT,DELETE
其中最常用到的便是GET(像是你現在看到的這個頁面便是透過GET的方法)
GET通常是為了取得資料
所以直接將查詢相關的請求直接放到URL上
所以每一個GET的方法都可以對應到不同的畫面
而以執行速度來說優於POST
但GET對於參數的長度和編碼是有所限制的
而POST則無長度上的限制
POST則是其次(最常使用到的像是登入的請求)
POST則會將查詢的參數放到封包內
因此有些POST的請求並不會改變URL(這樣的特性會讓網路爬蟲變得困難)
比起GET更適合放敏感資料
也便於上傳檔案(像我現在按下發表文章的按鈕就相當是個POST的請求)
而PUT則是可以更新資料
比較需要注意的是一般指的更新分為三種
PUT是屬於第二種
而第三種則是對應到另一個HTTP方法:PATCH
DELETE顧名思義便是刪除資料
雖然這些方法有以上的規則
但其實並無強制遵守
若你偷偷混用的話也是可行的
只是很容易為自己帶來困擾
譬如說更新資料時應該使用PUT時卻使用PATCH
那麼在網路不好的情況下瀏覽器自動重新整理的話兩種方法就會出現差異了
前者方法不管重新整理幾次都只會發送一次資料
但後者重新整理多少次就會發送多少次資料
試想若今天是Call有關網路購物下單的API
那訂單的數量有誤可能就會讓你虧了不少錢...
在此推薦一個Chrome的擴充工具:Talend API Tester
便可以去發送相關請求來Call API
畫面中很明確地提供HTTP的各種Method
在輸入API URL後也可以看到狀態碼來知道網頁回傳的情況
補充說明狀態碼[Http Status Code]主要是看開頭的數字來做主要的分類:
1xx = Informational (處理中)
2xx = Success(成功)
3xx = Redirect(重新導向)
4xx = Client error(客戶端錯誤)
5xx = Server error(伺服器端錯誤)
像是404 NOT FOUND就表示此頁面已經被刪除了