ESP Arduino 網頁架設手把手教學 – 認識基礎HTTP協定與架構

認識基礎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建立你的第一個網頁

更多資料與參考文章

淺談 HTTP Method:表單中的 GET 與 POST 有什麼差別?

https://progressbar.tw/posts/53

 

 


發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料