iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
Software Development

Web API:從零開始探索公開 API 與資料應用系列 第 2

Day 2|HTTP、Request與Response 是什麼?了解API如何傳遞資料

  • 分享至 

  • xImage
  •  

一、前言
上一篇介紹了API是什麼,還有API為什麼可以讓不同的應用程式互相溝通,不過知道API是「溝通的橋樑」之後,還是會有一個問題:

API到底是怎麼把資料傳過來的?
當我們使用網站或App時,通常只會看到最後呈現出來的結果,很少會注意到背後其實一直在進行資料的傳送與回應。
例如今天使用天氣App查詢台北的天氣,表面上看起來只是點選一個地點就可以看到目前溫度與天氣狀況,但實際上App背後需要先向伺服器提出請求,伺服器收到請求後再將資料回傳給App。

這中間就會涉及今天要介紹的三個重要概念:
HTTP、Request與Response。

二、HTTP是什麼?
HTTP是HyperText Transfer Protocol 的縮寫,中文通常翻譯為「超文字傳輸協定」。
看到「協定」可能會覺得有點複雜,但簡單來說,HTTP就是一套規定資料要如何在網路上傳送與回應的規則。
我們平常使用瀏覽器瀏覽網站時,就經常會使用 HTTP。
例如在瀏覽器輸入一個網站網址後,瀏覽器會向網站的伺服器提出請求,伺服器再將網頁資料回傳給瀏覽器,最後我們才會看到網站的內容。
可以簡單理解成:
瀏覽器→提出請求→HTTP→網站伺服器→回傳資料→瀏覽器顯示結果
而Web API也會使用HTTP來進行資料的傳送。
因此,當我們之後操作 Web API 時,HTTP 就會是非常重要的基礎。

三、什麼是 Request?
Request的中文是「請求」。
簡單來說就是:
我們向伺服器提出的要求。
例如今天想查詢一本書的資料,我們可能會向書籍API提出請求:
「請給我這本書的相關資料。」
或者使用天氣API時:
「請給我台北目前的天氣資料。」
這些都是Request。
Request並不是只有一句話而已,它通常會包含一些資訊,讓伺服器知道我們想做什麼。

四、什麼是 Response?
有Request,就會有Response
Response 的中文是「回應」
也就是:
伺服器收到 Request 後回傳給我們的結果
例如我們向天氣API提出:
「請告訴我台北的天氣。」
伺服器處理請求後,就可能回傳:
溫度:30°C
濕度:70%
天氣:晴天
這就是Response
如果是Web API,Response通常不會直接用我們平常看到的App介面呈現,而可能會使用JSON等結構化資料格式回傳。
因此可以把整個流程想成:
Client→Request→Server→處理資料→Response→Client
這也是我們操作API時會一直看到的流程。

五、用生活中的例子理解Request與Response
如果只看定義Request和Response可能還是有點抽象
可以把它想像成去餐廳點餐
首先,我們向店員說:
「我要一份牛肉麵。」
這是Request
店員收到我們的要求後將餐點準備好再把牛肉麵送過來。
這是Response
所以可以簡單對照
https://ithelp.ithome.com.tw/upload/images/20260916/20178901z9iDMyLXtX.jpg
實際的API運作會比餐廳點餐複雜很多,但透過這個例子,可以比較容易理解 Request 與 Response 的關係。

六、實際觀察一次API的Request與Response
了解基本概念之後接下來實際觀察一次API
這次使用手機瀏覽器操作公開API
當我們開啟API的網址時,可以看到伺服器回傳的資料
雖然我們在瀏覽器上只是輸入一個網址,但在背後其實已經完成了一次Request與Response
流程可以表示為:
手機瀏覽器→Request→API Server→Response→手機瀏覽器顯示資料
也就是說,我們平常看到的API回傳資料,其實就是伺服器對我們的Request所做出的Response
這也是為什麼 API 不只是單純的一個網址,而是一套讓不同系統可以互相傳遞資料的方式。

七、結論
今天主要認識了HTTP、Request和Response。
HTTP是網路上傳遞資料時使用的一套規則,而Request是應用程式向伺服器提出的請求,Response則是伺服器處理請求後回傳的結果。
把這三個概念串起來,就可以得到 Web API 最基本的運作流程:
Client → Request → Server → Response → Client
今天先了解API如何進行「請求與回應」,
下一篇就可以進一步了解Request中非常重要的兩種方式
GET與POST到底有什麼不同?
這也是之後實際操作Web API時一定會遇到的內容。


上一篇
Day 1|Web API 是什麼?從生活中的例子認識 API
下一篇
Day 3|GET跟POST 是什麼?API 怎敢告訴伺服器要做什麼?
系列文
Web API:從零開始探索公開 API 與資料應用6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言