24°
多雲時晴
最高 27° · 最低 19°
請求 Request →
← 回應 Response
請求:我要什麼
GET api.weather.com/taipei
白話:「給我台北現在的天氣」。GET 是「跟你要資料」的意思。
回應:結果在這
……(還沒回來)
白話:「成功(200),資料附在後面」。錶面就是拿這包資料換上新溫度。
HTTP 共同規則
還沒講好規則,伺服器想怎麼回就怎麼回
--°
等天氣資料中…
還沒開始問,按下面的「問天氣」。
手錶寄出去的那一面
伺服器回給你的那一面
GET /taipei HTTP/1.1Host: api.weather.comAccept: application/json(GET 只是要資料,沒有內文)
HTTP/1.1 200 OKContent-Type: application/json{ "溫度": 24, "天氣": "多雲" }
{ "溫度": 24, "天氣": "多雲" }手錶要的溫度,就是這包貨。
Content-Type: application/json
裡面的貨是 application/json:JSON 格式的資料。手錶看到這行,才知道要用拆 JSON 的方式拆這包。
關於這包的資訊:什麼格式、多大、何時寄、能放多久。是「說明」,不是貨物本身。
你真正要的資料本體。錶面就是拆開這包、拿裡面的溫度換上新畫面。
24°
多雲時晴
最高 27° · 最低 19°
照你說的做好了,結果在這。
從手錶查天氣這一趟,把 HTTP 從外面看到裡面。動手做過之後,帶走這三個重點:
回到那個沒有規則的宇宙:伺服器回的俄文和文言文,內容其實都是「台北 24 度」,為什麼手錶還是畫不出正常錶面?
想想手錶是誰在讀這些回覆:是人,還是程式?