安全測試 - HTTP 協議基礎



瞭解協議對於深入掌握安全測試非常重要。當我們在 Web 伺服器和客戶端之間攔截資料包時,您將能夠理解協議的重要性。

HTTP 協議

超文字傳輸協議 (HTTP) 是一種用於分散式、協作式超媒體資訊系統的應用層協議。自 1990 年以來,它一直是全球資訊網資料通訊的基礎。HTTP 是一種通用且無狀態的協議,也可以用於其他目的,例如擴充套件其請求方法、錯誤程式碼和標頭。

基本上,HTTP 是一種基於 TCP/IP 的通訊協議,用於透過 Web 傳輸資料,例如 HTML 檔案、影像檔案、查詢結果等。它提供了一種標準化的方式讓計算機相互通訊。HTTP 規範指定了客戶端如何將請求的資料傳送到伺服器,以及伺服器如何響應這些請求。

基本特性

以下三個基本特性使 HTTP 成為一個簡單而強大的協議:

  • HTTP 是無連線的 - HTTP 客戶端(即瀏覽器)發起 HTTP 請求。發出請求後,客戶端斷開與伺服器的連線並等待響應。伺服器處理請求並重新建立與客戶端的連線以傳送響應。

  • HTTP 是媒體獨立的 - 只要客戶端和伺服器都知道如何處理資料內容,HTTP 就可以傳送任何型別的資料。這要求客戶端和伺服器使用相應的 MIME 型別指定內容型別。

  • HTTP 是無狀態的 - HTTP 是無連線的,這是 HTTP 是無狀態協議的直接結果。伺服器和客戶端僅在當前請求期間彼此瞭解。之後,它們都忘記了對方。由於協議的這種特性,客戶端或瀏覽器都不能在 Web 頁面之間不同請求之間保留資訊。

HTTP/1.0 每次請求/響應交換使用一個新連線,而 HTTP/1.1 連線可用於一次或多次請求/響應交換。

架構

下圖顯示了一個 Web 應用程式的非常基本的架構,並描繪了 HTTP 所在的位置:

HTTP Architecture

HTTP 協議是一種基於客戶端/伺服器架構的請求/響應協議,其中 Web 瀏覽器、機器人和搜尋引擎等充當 HTTP 客戶端,而 Web 伺服器充當伺服器。

  • 客戶端 - HTTP 客戶端透過 TCP/IP 連線以請求方法、URI 和協議版本的形式向伺服器傳送請求,後跟包含請求修改器、客戶端資訊和可能的正文內容的 MIME 類訊息。

  • 伺服器 - HTTP 伺服器以狀態行(包括訊息的協議版本以及成功或錯誤程式碼)進行響應,後跟包含伺服器資訊、實體元資訊和可能的實體正文內容的 MIME 類訊息。

HTTP – 缺點

  • HTTP 不是一個完全安全的協議。

  • HTTP 使用埠 80 作為預設通訊埠。

  • HTTP 在應用層執行。它需要為資料傳輸建立多個連線,從而增加了管理開銷。

  • 使用 HTTP 不需要加密/數字證書。

Http 協議詳細資訊

為了深入瞭解 HTTP 協議,請點選以下每個連結。

廣告