iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0
自我挑戰組

C# 從入門到WebApi系列 第 22

[Day22] Http簡介 跟 PostMan

  • 分享至 

  • xImage
  •  

關於Http 協議

HTTP是一個客戶端(用戶)和伺服器端(網站)之間請求和應答的標準,通常使用TCP協定。
當一個使用者按下網頁的一個按鈕
或是一開始進入表單等等
都是送一個http請求到伺服器端
也就是我們目前要做的部分

HTTP為無狀態的請求-回應通訊協定
也就是說伺服器端並不會紀錄每次接收並回傳訊息後就斷開雙方的連結
跟傳統的scoket持續連結的方式不同
目前最新的Http 版本為HTTP/2 但是因為是近幾年才推出
所以目前還是用HTTP/1.1
完整的Http協定可以看
rfc2616
簡中板
我覺得好懂得圖文並茂版

HTTP 方法

HTTP 總共有8個方法
比較上用的我會用粗體字

名稱 說明
GET 向指定的資源發出「顯示」請求。使用GET方法應該只用在讀取資料。
POST 向指定資源提交資料,請求伺服器進行處理(例如提交表單或者上傳檔案)。
PUT 向指定資源位置上傳其最新內容。
DELETE 請求伺服器刪除Request-URI所標識的資源。
HEAD 與GET方法一樣,都是向伺服器發出指定資源的請求。只不過伺服器將不傳回資源的本文部份。
TRACE 回顯伺服器收到的請求,主要用於測試或診斷。
OPTIONS 這個方法可使伺服器傳回該資源所支援的所有HTTP請求方法。
CONNECT HTTP/1.1協定中預留給能夠將連接改為隧道方式的代理伺服器。通常用於SSL加密伺服器的連結(經由非加密的HTTP代理伺服器)。

在REST其中前面四個剛好對應資料庫的CRUD

名稱 資料庫動作
GET READ(讀取) R
POST CREATE(新增) C
PUT UPDATE(修改) U
DELETE DELETE(刪除) D

在選用httpMethod的時候
盡量考慮到其對應的動作做設計

HTTP 狀態碼

用戶向SERVER端請求後返回的狀態碼

這邊只列幾個比較常用的HTTP Status CODE
完整請見HTTP狀態碼

HTTP Status CODE 狀態 說明
200 OK 請求已成功,請求所希望的回應頭或資料體將隨此回應返回。
204 No Content 伺服器成功處理了請求,沒有返回任何內容。
400 Bad Request 由於明顯的客戶端錯誤(例如,格式錯誤的請求語法,太大的大小,無效的請求訊息或欺騙性路由請求)
401 Unauthorized 用戶沒有必要的憑證。
403 Forbidden 伺服器已經理解請求,但是拒絕執行它。
404 Not Found 請求失敗,請求所希望得到的資源未被在伺服器上發現。(最常見,通常是網址打錯)
405 Method Not Allowed 請求行中指定的請求方法不能被用於請求相應的資源。(例如用GET去請求需要用POST請求的資源)
500 Internal Server Error 通用錯誤訊息,伺服器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。沒有給出具體錯誤資訊。(通常是程式出錯)
502 Bad Gateway 作為閘道器或者代理工作的伺服器嘗試執行請求時,從上游伺服器接收到無效的回應。

POSTMAN

一款用來測試API的工具
他有出CHROME的擴充套件

可以從POSTMAN官網進行下載桌面板

介面看起來像
https://ithelp.ithome.com.tw/upload/images/20200924/201095495OGrhFATl5.png

1的地方是可以選擇Http Method
2是讓你填入請求網址
3的部分按下去可以輸入URL參數(你也可以直接打在2的網址列)

拿我昨天的文章網址當例子(https://ithelp.ithome.com.tw/articles/10241376)

我們使用GET方法(你所看見的網頁都是GET方法取得)
https://ithelp.ithome.com.tw/upload/images/20200924/20109549v8SuK7l6zO.png

可以看到回應的內容是我昨天的文章


上一篇
[Day21] WebApi 成員介紹 與 網路交換格式
下一篇
[DAY23] 來做做自己的API SERVER吧
系列文
C# 從入門到WebApi30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言