術語表 其他 H

HTTP

HTTP

什麼是 HTTP?

超文本傳輸協議(HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的網頁瀏覽器(如 Chrome、Firefox、Safari)在獲取網頁時會使用 HTTP 協議。HTTP 定義了客户端(通常是網頁瀏覽器)與伺服器之間請求和響應的規則,是萬維網(WWW)的數據傳輸基礎。

簡單來說,HTTP 就像是網頁瀏覽器和 Web 伺服器之間溝通的語言。當你輸入一個網址並按下回車鍵時,瀏覽器會發送一個 HTTP 請求給伺服器,伺服器再返回一個 HTTP 響應,其中包含了你請求的網頁內容。

HTTP 的工作原理:請求-響應模型

HTTP 是一個基於客户端-伺服器模型的協議,其基本工作原理遵循一個簡單的請求-響應模型:

  1. 客户端發起請求 :

    • 客户端(通常是網頁瀏覽器)向伺服器發送一個 HTTP 請求。請求通常包含以下部分:
      • 請求方法: 如 GET、POST,指示伺服器要執行的操作。
      • 請求URI : 通常是指向特定資源的統一資源標識符 (URI),即你訪問的網址。
      • 版本號: 如 HTTP/1.1 或 HTTP/2,指明使用的協議版本。
      • 頭部信息: 包含附加信息,如客户端類型、接受的編碼、Cookie 等。
      • 請求體: 部分請求(如 POST)會包含要發送給伺服器的數據。
  2. 伺服器處理請求:

    • 伺服器接收到請求後,根據請求的方法、URI 和其他信息進行處理。
    • 處理可能包括查找文件、執行脚本、訪問數據庫等。
  3. 伺服器發送響應:

    • 處理完成後,伺服器向客户端發送一個 HTTP 響應。響應也包含以下部分:
      • 狀態碼: 如 200 (成功)、404 (未找到資源)、301 (永久重定向) 等,指示請求處理的結果。
      • 狀態消息: 與狀態碼對應的文字說明,如 “OK”、“Not Found”、“Moved Permanently”。
      • 頭部信息 : 包含附加信息,如內容類型 (Content-Type)、內容長度 (Content-Length)、緩存控制指令等。
      • 響應體 : 包含實際的數據,如網頁內容 (HTML)、圖片、視頻、JSON 數據等。對於 GET 請求的普通網頁訪問,響應體通常是 HTML。
  4. 客户端接收響應:

    • 客户端接收到響應後,解析狀態碼和頭部信息。如果狀態碼是 2xx 系列(成功),客户端會解析響應體(通常是 HTML),並將其渲染成用户可見的網頁。

這個過程不斷重複,構成了我們日常上網瀏覽網頁、提交表單、加載圖片等所有 Web 活動的底層基礎。

HTTP 正在面臨哪些安全問題?

儘管 HTTP 是萬維網的基礎,但其設計本身存在一些顯著的安全問題,主要是因為它是一個明文傳輸協議 (Plain Text Transmission Protocol)。這意味著客户端和伺服器之間傳輸的所有數據,包括密碼、個人身份信息、敏感業務數據等,都是未經加密的,可以被任何能夠監聽到網絡流量的第三方(攻擊者)輕易截獲和讀取。

主要安全問題包括:

  1. 數據洩露與竊聽:

    • 由於傳輸內容是明文的,任何掌握了網絡嗅探技術(如使用 Wireshark 等工具)或在用户與伺服器、伺服器與代理之間進行監聽的攻擊者,都可以捕獲到 HTTP 請求和響應的詳細信息。
    • 這可能導致敏感信息(如用户名、密碼、信用卡號、個人信息等)被洩露,造成嚴重的隐私侵犯和身份盜竊風險。
  2. 中間人攻擊:

    • 攻擊者可以插入自身到客户端和伺服器之間的通信路徑中,充當“中間人”。他們可以攔截、篡改、讀取或重放 HTTP 請求和響應。
    • 例如,攻擊者可以截獲用户提交的登錄憑據,然後將其發送給真實伺服器,同時自己保存一份,從而竊取用户賬戶。
    • 由於 HTTP 沒有内置驗證機制來確認通信雙方的身份,這種攻擊相對容易實現。
  3. 跨站腳本攻擊:

    • 雖然 XSS 本身是網站應用程序層面的漏洞,但通常通過 HTTP GET 或 POST 請求從伺服器獲取數據(如動態生成的內容、從第三方服務請求數據等),然後未經充分過濾地將這些數據嵌入到網頁中。
    • 如果伺服器返回的數據包含了攻擊者注入的惡意脚本,當其他用户訪問該網頁時,這些脚本會在用户的瀏覽器中執行,從而竊取用户數據、會話 cookie 或進行其他惡意操作。
  4. 拒絕服務攻擊:

    • 攻擊者可以發送大量無效或惡意的 HTTP 請求到伺服器,消耗伺服器的資源(如帶寬、CPU、内存),使其無法響應正常用户的請求,導致服務中斷。
  5. 會話劫持:

    • HTTP 協議本身不提供機制來保證會話的機密性和完整性。如果用户在未使用 HTTPS 的 HTTP 應用中使用會話(Session),攻擊者可以更容易地截獲包含會話標識符(Session ID)的 Cookie,從而接管用户的會話,冒充用户身份進行操作。

HTTPS與HTTP的關係?為何需要 HTTPS?

由於上述固有的安全問題,HTTP 已逐漸被**HTTPS(HTTP Secure)**所取代或結合使用。HTTPS 在 HTTP 的基礎上加入了 SSL/TLS 協議層,提供了以下安全機制:

  • 數據加密 (Encryption): 使用密鑰對數據進行加密,確保即使在公共網絡上傳輸,數據也能被保護,防止被竊聽。
  • 身份驗證 (Authentication): 通過數字證書驗證伺服器的身份,防止中間人攻擊,讓用户知道他們正在與真正的伺服器通信。
  • 數據完整性 (Integrity): 確保傳輸的數據在傳輸過程中沒有被篡改。

正是由於這些安全特性,HTTPS 成為了保護用户數據、維護隐私和建立用户信任的現代 Web 應用的標準。對於處理敏感信息的網站(如電商、網銀、社交媒體、登錄頁面等),以及需要遵守數據保護法規(如 GDPR)的網站,強制使用 HTTPS 至關重要。


DuoPlus雲端手機

保護您的多帳戶安全不受封禁

免費試用

全球社媒行銷,就選DuoPlus

無需購買多台真實手機,一人即可在電腦面前,操作N台雲端手機,N個社媒帳號為您引流帶貨。

立即開始體驗
*