認識基礎HTTP協定
我是新手,想用ESP做互動式網頁,但不知道怎麼開始?
我是老手,有開發單晶片經驗,但卻不了解網路協定?
沒關係,這系列帶你手把手教學,透過ESP8266/ESP32,做出互動式系統。
但在開始寫Code實做WebServer之前,我們要先了解一下HTTP的基礎協定!
有了基礎知識,才能知所以然,不會一頭霧水的照抄Code
HTTP
HTTP是用戶端(Client)和伺服器端(Server)請求(Request)和應答(Response)的標準。
HTTP/1.1協定中共定義了八種方法(動作),以不同方式操作指定的資源,
分別為 GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT,
上述的每一種方式在一開始定義時皆有其用途
但我們今天,就講最基本的兩個,GET and POST
GET
GET,字面上意思就是取(GET)資料的意思,通常我們會使用GET,帶著一些參數(Query String),去取得你需要的資料,
GET像是明信片一樣,把要傳遞的資訊(Query String),沒有包裝的寫在URL上,
例如: http://example.com?id=1234
利用這樣的方式,傳輸資料到後端(ESP),後端再根據你傳送的資訊去判斷,執行相對應動作並且回傳資訊(Reponse)。
但也因為像是明信片一般的傳遞資料,因此完全是沒有安全性的,因此在使用GET時,要考慮到使用情境,
無安全性考量,才建議使用GET。
POST
POST,發佈資料到後端,通常我們使用POST,去傳遞一些比較複雜的資訊到後端(ESP)
例如: 檔案,帳號密碼等。
POST就像一般的信件,把要傳遞的資訊,寫在信紙內,並且用信件袋包起來,因此安全性比較好一些。
實際來說,POST 是將表單資料放在 message-body 進行傳送,因此在不偷看封包的時候是安全的。
後端一樣接收,處理資訊,並且執行相對應動作並且回傳資訊(Reponse)。
下篇文章:
ESP Arduino 網頁架設手把手教學 – 用ESPAsyncWebServer建立你的第一個網頁
更多資料與參考文章
https://progressbar.tw/posts/53