[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 状态码 又是什麽呢?
下篇将陆续讲解!


<<:  DAY 14 资料库-透过pgAdmin4管理Heroku PostgreSQL

>>:  Day 0x10 - 整理解密函数与 Webhook api

[Android Studio 30天自我挑战] 变更Spinner字体及背景样式

Spinner选项的字体大小及背景都是可以更改的! 但Spinner的字体样式及背景无法像Textv...

Swift纯Code之旅 Day27. 「画面最後的温柔 - 大胎头」

前言 窝齁齁齁齁齁,现在整个专案的画面本上美的像一幅毕卡索的画一样(? 但是呢,还差那麽一个不完美,...

Security 组别

Security https://wolkesau.medium.com/security-b198...

DAY12 特徵工程-资料化约(特徵选取)

特徵工程可以分为两大部分,一是根据现有的资料特徵进行筛选,选出较有影响力的特徵进行训练,另一个是根据...

Trouble with Distributed Systems (3-2) - Unreliable Clocks

接续 Day 10 时钟同步和精度 (CLock Synchronization and Accu...