iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
Software Development

Python 爬蟲這樣學,一定是大拇指拉!系列 第 11

[Python 爬蟲這樣學,一定是大拇指拉!] DAY11 - HTTP / HTTPS (2)

本篇會簡單介紹 HTTP 的結構。

HTTP Messages

什麼是 HTTP Messages?就是兩個端點之間,透過 HTTP 協定交換數據的方式。

假設今天我們在 https://www.ithome.com.tw/ 想要進行某個行為、動作,我們的電腦就會向 ithome 的伺服器送出一個 HTTP Message(Request Message),當 iThome 的伺服器收到我們的 HTTP Message 後,它會根據我 Message 的內容,回傳給我相對應的 HTTP Message(Response Message)。

更簡單的理解方式,想像我們在跟朋友聊天時,朋友會根據你所講的話來回答你,或是你會根據朋友講的話來回答他。

HTTP Request / Response Messages 由以下組成:

  • Request line(用於 Request Message 的第一行:敘述 Request 的 HTTP Method、目標(通常是 URL)、HTTP 版本,如:GET /example.gif HTTP/1.1

  • Status line(用於 Response Message 的第一行:敘述 Response 的 HTTP 版本、狀態碼(HTTP Status)、Status Text,如:HTTP/1.1 404 Not Found,404 是 Status,Not Found 則是 Status Text。

  • Headers:定義操作參數,簡單來說就是一種附加訊息。除了標準名稱,也可以自己根據的需求來定義名稱。因此可以在某些伺服器或瀏覽器上發現非標準的 Headers 名稱。像我們常見的:Content-TypeUser-Agent 等。更多的標準 Headers 可以在這邊參考。

  • 空白行

  • Body:要傳送或回應的 Data。

  • 例:
    https://ithelp.ithome.com.tw/upload/images/20210926/20139358KED6sBrgFj.png
    圖片來源

以上就是 HTTP 結構的介紹。
那剛剛文章提到的 HTTP Method 跟 HTTP 狀態碼 又是什麼呢?
下篇將陸續講解!


上一篇
[Python 爬蟲這樣學,一定是大拇指拉!] DAY10 - HTTP / HTTPS (1)
下一篇
[Python 爬蟲這樣學,一定是大拇指拉!] DAY12 - HTTP / HTTPS (3)
系列文
Python 爬蟲這樣學,一定是大拇指拉!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言