什麼是HTTP?它的完整形式及工作原理、優點和缺點
HTTP代表超文本傳輸協定。它是 Web 瀏覽器和伺服器在 Internet 上共用資訊的主要通信方式。蒂姆·伯納 (Tim Berner) 發明瞭它。超文字是在稱為超文字標記語言 (HTML) 的一些標準編碼語言的説明下專門編碼的文字類型。 HTTP/2 是 HTTP 的新版本。HTTP/3 是 HTTP 的最新版本,於 2022 年發布。
當您訪問網站時,HTTP 可説明您的瀏覽器請求並接收顯示您看到的網頁所需的數據。它是互聯網運作方式的基本組成部分,使我們能夠瀏覽網站並與之互動。在本文中,我們將討論 HTTP 的完整形式及其工作原理、優點和缺點。
HTTP 的完整形式是什麼?
HTTP 代表「超文本傳輸協定」。它是一組用於在萬維網 (WWW) 上共用數據的規則。HTTP 説明 Web 瀏覽器和伺服器進行通信,允許人們通過 Internet 訪問和共用資訊。
要點
基本結構:HTTP 構成了 Web 的基礎,支持數據通信和文件共用。
網頁流覽:大多數網站都使用 HTTP,因此當您按兩下連結或下載檔時,HTTP 正在工作。
用戶端-伺服器模型:HTTP 在請求-響應系統上工作。您的瀏覽器(客戶端)詢問資訊,網站的伺服器使用資料進行回應。
應用層協定:HTTP 在 Internet 協定套件中運行,管理數據的傳輸和接收方式。
什麼是超文本?
用於在兩台計算機之間傳輸超文本的協定稱為超文本傳輸協定。HTTP 在 Web 瀏覽器和 Web 伺服器之間建立通信。它是一組將數據從一台計算機傳輸到另一台計算機的規則。文本、圖像和其他多媒體檔等數據在萬維網上共用。每當 Web 使用者打開其 Web 瀏覽器時,該使用者都會間接使用 HTTP。它是一種用於分散式、協作式、超媒體資訊系統的應用程式協定。
HTTP [超文本傳輸協定] 的工作原理]
首先,每當我們想打開任何網站時,我們首先打開一個網路瀏覽器,然後我們將輸入該網站的 URL(例如, www.facebook.com )。此 URL 現在已發送到功能變數名稱伺服器 (DNS)。然後,DNS 首先檢查其資料庫中是否有此 URL 的記錄,然後 DNS 會將 IP 位址返回給與此 URL 對應的 Web 瀏覽器。現在瀏覽器能夠向實際伺服器發送請求。
伺服器向客戶端發送資料后,連接將關閉。如果我們想從伺服器獲得其他東西,我們應該不得不在用戶端和伺服器之間重新建立連接。
使用 HTTPS
什麼是 HTTP 請求?
HTTP 請求被簡單地稱為 Internet 瀏覽器載入網站所需的資訊或數據。這簡稱為 HTTP 請求。
所有 HTTP 請求中通常都存在一些常見資訊。這些在下面提到。
HTTP 版本
網址
HTTP 方法
HTTP 請求標頭
HTTP 正文
HTTP 請求標頭
HTTP 請求標頭通常以鍵值的形式存儲資訊,並且必須存在於每個 HTTP 請求中。這個 Request Header 的使用是為了提供有關客戶端資訊的核心資訊等。
HTTP 請求正文
HTTP 請求正文僅包含必須傳輸的資訊。HTTP Request 包含要發送到這些瀏覽器的資訊或數據。
HTTP 方法
HTTP 方法只是 HTTP 動詞。儘管存在如此多的 HTTP 方法,但最常見的 HTTP 方法是 HTTP GET 和 HTTP POST。這兩個通常用於 HTTP 情況。在 HTTP GET 中,資訊以網站的形式接收。
什麼是 HTTP 回應?
HTTP 回應只是 Server 在提出請求時得到什麼的答案。HTTP Response 中包含各種內容,下面列出了其中一些內容。
HTTP 狀態代碼
HTTP 標頭
HTTP 正文
HTTP 回應
HTTP 回應標頭
HTTP 回應標頭就像 HTTP 請求一樣,它的工作是將一些重要的文件和數據發送到 HTTP 回應正文。
HTTP 回應正文
HTTP 回應是在請求時成功收到的回應。通常,它屬於 Web 生成的請求。在大多數情況下,請求是將 HTML 數據傳輸到網頁中。
什麼是 HTTP 狀態代碼?
HTTP 狀態代碼是 3 位數代碼,用於告訴消息或簡單地告訴我們 HTTP 請求是否已完成。狀態代碼只有5種類型。
資訊
成功的
重定向
用戶端錯誤
伺服器錯誤
HTTP 的歷史
Tim Berners Lee 和他在 CERN 的團隊因發明瞭原始 HTTP 和相關技術而受到讚譽。
HTTP 版本 0.9:這是 1991 年推出的第一個 HTTP 版本。
HTTP 版本 1.0:1996 年,HTTP 版本 1.0 中引入了 RFC 1945(請求註釋)。
HTTP 版本 1.1:1997 年 1 月,RFC 2068 在 HTTP 版本 1.1 中引入。1999 年 6 月,RFC 2616 下發佈了對 HTTP 版本 1.1 標準的改進和更新。
HTTP 版本 2.0:HTTP 版本 2.0 規範於 2015 年 5 月 14 日作為 RFC 7540 發佈。
HTTP 版本 3.0:HTTP 版本 3.0 基於之前的 RFC 草案。它更名為超文本傳輸協定 QUIC,是 Google 開發的傳輸層網路協定。
HTTP 的特徵
HTTP 是基於IP的通訊協定,用於將資料從伺服器傳輸到用戶端,反之亦然。
伺服器處理由用戶端提出的請求,並且伺服器和用戶端僅在當前出價和回應期間相互瞭解。
只要伺服器和用戶端相容,就可以交換任何類型的內容。
交換數據后,伺服器和用戶端將不再連接。
它是基於客戶端和伺服器要求的請求和回應協定。
它是一種無連接協定,因為在連接關閉后,伺服器不會記住有關用戶端的任何資訊,而用戶端也不會記住有關伺服器的任何資訊。
它是一個無狀態協定,因為客戶端和伺服器都不期望彼此提供任何資訊,但它們仍然能夠通信。
HTTP 中的 Cookie
HTTP cookie(網路 cookie、瀏覽器 cookie)是伺服器傳輸到使用者網路瀏覽器的一小段數據。在進行後續查詢時,瀏覽器可能會保留cookie並將其傳輸回同一伺服器。例如,HTTP Cookie 通常用於維護使用者的登錄狀態,並確定兩個請求是否來自同一瀏覽器。對於無狀態 HTTP 協定,它會保留有狀態資訊。
HTTP 狀態代碼
稱為 HTTP 狀態代碼的三位數代碼最常用於顯示 HTTP 請求是否已成功完成。以下五個塊表示狀態代碼的細分:
1x 資訊量
2xx 成就
3xx 重定向
4xx 客戶端錯誤
伺服器上的 5xx 錯誤
00 和 99 之間的不同數位用 「xx」 表示。以 「2」 開頭的狀態代碼表示成功。例如,在用戶端請求網頁後發送的最典型答案的狀態代碼為“200 OK”,這表示請求已成功完成。
DDoS 攻擊可以通過 HTTP 發起嗎?
請記住,由於 HTTP 是 「無狀態」 協定,因此通過它執行的每個命令都獨立於其他所有作運行。每個 HTTP 請求都根據原始規範打開和終止 TCP 連接。在 HTTP 1.1 及更高版本的協定中,多個 HTTP 請求現在可以通過持久性 TCP 連接流動,從而提高了資源利用率。在 DoS 或 DDoS 攻擊的上下文中,大規模 HTTP 請求被視為應用層或第 7 層攻擊,可用於對目標設備發起攻擊。
HTTP 的優勢
記憶體使用率和 CPU 使用率較低,因為同時連接較少。
由於 TCP 連接很少,因此網路擁塞較少。
由於握手是在初始連接階段完成的,因此延遲會減少,因為後續請求不需要進一步握手。
可以在不關閉連接的情況下報告該錯誤。
HTTP 允許請求或回應的 HTTP 管道。
HTTP 的缺點
HTTP 需要高功率來建立通信和傳輸數據。
HTTP 不太安全,因為它不使用任何加密方法(如 HTTPS),而是使用 TLS 來加密常規 HTTP 請求和回應。
HTTP 沒有針對行動電話進行優化,而且它太笨拙了。
HTTP 不提供真正的數據交換,因為它不太安全。
用戶端在從伺服器收到完整數據之前不會關閉連接;因此,伺服器需要等待數據完成,在此期間無法供其他用戶端使用。
結論
總之,HTTP 代表「超文本傳輸協定」,對於Web通訊至關重要。它使您的瀏覽器能夠從網站請求和接收資訊,從而使在線瀏覽成為可能。HTTP 是 Web 瀏覽器和伺服器用來在 Internet 上通信和共用資訊的基本方法,使我們能夠瀏覽網站並與之互動。