HTTP協議基礎

理解協議對於掌握安全測試非常重要。當我們攔截網路伺服器和客戶端之間的數據包數據時,您將能夠理解協議的重要性。

1. HTTP協議

超文本傳輸協議(HTTP)是用於分佈式協作超媒體資訊系統的應用程式級協議。它是自1990年以來萬維網數據通信的基礎。HTTP是一種通用的無狀態協議,可以用於其他目的,也可以使用其請求方法,錯誤代碼和標頭的擴展。

基本上,HTTP是基於TCP/IP的通信協議,用於通過Web傳送諸如HTML檔,圖像檔,查詢結果等數據。它為電腦相互通信提供了標準化的方法。HTTP規範指定客戶端請求的數據如何發送到伺服器,以及伺服器如何回應這些請求。

2. 基本功能

以下三個基本功能使HTTP成為簡單而強大的協議 -

  • HTTP是無連接的 - HTTP客戶端,即流覽器發起HTTP請求。發出請求後,客戶端將斷開與伺服器的連接並等待回應。伺服器處理請求並重新建立與客戶端的連接以發迴響應。

  • HTTP與介質無關 - 只要客戶端和服務器都知道如何處理數據內容,就可以通過HTTP發送任何類型的數據。客戶端和服務器都需要使用適當的MIME類型指定內容類型。

  • HTTP是無狀態的 - HTTP是無連接的,這是HTTP是無狀態協議的直接結果。伺服器和客戶端僅在當前請求期間相互瞭解。之後,他們兩個都忘記了彼此。由於協議的這種性質,客戶端和流覽器都不能在跨網頁的不同請求之間保留資訊。

HTTP/1.0為每個請求/回應交換使用新連接,而HTTP/1.1連接可用於一個或多個請求/回應交換。

3. 架構

下圖顯示了Web應用程式的一個非常基本的體系結構,並描述了HTTP所在的位置 -

HTTP體系結構

HTTP協議是基於客戶端/伺服器體系結構的請求/回應協議,其中web流覽器,機器人和搜索引擎等充當HTTP客戶端並且web伺服器充當伺服器。

客戶端 - HTTP客戶端以請求方法,URI和協議版本的形式向伺服器發送請求,後跟包含請求修飾符,客戶端資訊和TCP / IP連接上可能的正文內容的類似MIME的消息。

伺服器 - HTTP伺服器以狀態行回應,包括消息的協議版本和成功或錯誤代碼,後跟包含伺服器資訊,實體元資訊和可能的實體主體內容的類似MIME的消息。

HTTP協議是基於客戶端/伺服器體系結構的請求/回應協議,其中web流覽器,機器人和搜索引擎等充當HTTP客戶端並且web伺服器充當伺服器。

  • 客戶端 - HTTP客戶端以請求方法,URI和協議版本的形式向伺服器發送請求,後跟包含請求修飾符,客戶端資訊和TCP/IP連接上可能的正文內容的類似MIME的消息。

  • 伺服器 - HTTP伺服器以狀態行回應,包括消息的協議版本和成功或錯誤代碼,後跟包含伺服器資訊,實體元資訊和可能的實體主體內容的類似MIME的消息。

HTTP的缺點

  • HTTP不是完全安全的協議。
  • HTTP使用端口80作為通信的默認端口。
  • HTTP在應用層運行。它需要為數據傳輸創建多個連接,這會增加管理開銷。
  • 使用HTTP不需要加密/數字證書。

4. Http協議詳細資訊

為了理解HTTP協議的深入,請點擊以下鏈接分別瞭解它們。


上一篇: 安全測試惡意軟體 下一篇: HTTPS協議基礎