今天是我們學習網路安全的第12天,在認識了兩個基本的攻擊之後,今天我們小休一下,要繼續學習基礎觀念,今天我們要學的是HTTP,也就是之前在學Burp Suite時改過HTTP方法的那個東西。
HTTP(HyperText Transfer Protocol),也就是瀏覽器(Client)與伺服器(Server)之間溝通的語言。而每當我們打開瀏覽器時,瀏覽器都會送出一個請求(Request),伺服器收到後會給出一個回應(Response)。
接下來我們再把它拆成兩部分,分別為請求(Request)與回應(Response)。
一個Request主要有三個部分,分別是Request Line 、Headers(標頭資訊) 、Body(主體)接下來我會三個都簡單的介紹以便有個基礎的認識。
1.Request Line
主要的功能是告訴伺服器我們的目的
例如: GET /index.html HTTP/1.1
GET → Method (你要的動作)
/index.html → Resource (要的資源)
HTTP/1.1 → 使用的協定版本
2.Headers(標頭資訊)
負責的是提供額外訊息
例如:
Host: example.com
User-Agent: Mozilla/5.0
Cookie: sessionid=abc123
Host → 你要連的網站
User-Agent → 你用什麼瀏覽器
Cookie → 你的登入狀態
3.Body(主體)
只有在 POST / PUT 等請求裡才會有,例如表單資料
例如:
username=admin&password=1234
伺服器的部分我們也會分成三個部分,分別是Status Line(狀態行)、Headers、Body
1.Status Line(狀態行)
例如: HTTP/1.1 200 OK
200為狀態碼,這部份很重要,因此明天我會單獨把這部分拉出來講
2.Headers
例如:Content-Type: text/html
Set-Cookie: sessionid=xyz789
Content-Type → 回傳的資料類型 (HTML、JSON、圖片...)
Set-Cookie → 伺服器要求瀏覽器存 Cookie
3.Body
伺服器要給的內容,例如 HTML網頁
<html>
<body>Hello!</body>
</html>
今天的最後再來補充一下常見的HTTP方法(Method)
GET → 拿資料 (常用於瀏覽網頁)
POST → 傳送資料 (登入、送表單)
PUT → 更新整個資源
PATCH → 更新部分資源
DELETE → 刪除資源
這也就是我們第9天實作改的部分,講到這邊你應該也發現了,沒錯,那天實作第四步驟的4.不小心打錯了,那邊的標頭應該要改成方法,在這邊向一直有在看文章的大家道歉。
今天我們學了基本的HTTP,明天我們將會對HTTP狀態碼進行教學,另外對於第9天實作的部分打錯不小心造成誤導道歉,今後發送文章會在更加注意。