iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
自我挑戰組

程式導師實驗計畫第五期 回顧筆記系列 第 10

D9 第四週 網路基礎

當週進度

NET101

這堂課主要迴繞著 HTTP, TCP/IP, API 這些網路相關的知識。

跟我們最息息相關的應該就是 HTTP 的 request 和 response,這個在瀏覽器 devtool 打開來,應該都能很直接地看到。它們都有各自的 header 和 body。其實跟信封和信紙的感覺差不多, header 上面可能會寫寄件人、收信地址、信封種類…等等資訊,然後真正的內容放在 body 這樣。

request 和 response 的區別方式是看相對自己來說是「送出」還是「接收」?
client 的身分對應到一直發送 request 等待 response 的角色,而 server 就是一直等待 request 然後 response。client 是主動發起方,server 則是被動等待方。另外一種比較特別的叫做 p2p,那就是互相有來有往的那種,但網路大部分還是 client-server 的架構。

method 和 status code 相對來說會比較陌生,但 404 和 500 這兩個錯誤訊息可能大家或多或少都有看過。其實熟悉之後會發現還蠻有邏輯的。method 的部分主要是在 API 呼叫才會有差別,因為近年來流行 RESTful API 的關係,會鼓勵大家在開發的時候多用 GET, POST, PATCH, DELETE 之類的方式區分。詳細可以參考 HTTP 請求方法 - HTTP | MDN

API 呼叫範例

const request = require('request')
const URL = "http://example.com"

request.get({ url: URL }, (err, res, body) => {
  if (res.statusCode >= 200 && res.statusCode < 300) {
    console.log(body)
  }
})

API 文件撰寫

推薦兩個用來寫 API 的工具


抱歉今天時間有點小趕,有機會的話再補完整一些 ?


上一篇
D8 第四周 (回憶篇)
下一篇
D10 第五週 (回憶篇)
系列文
程式導師實驗計畫第五期 回顧筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言