什麼是 HTTP?

什麼是 HTTP?

如果您在查看瀏覽器頂部欄中的網址時非常敏銳,您可能已經註意到任何網站地址的第一部分,即字母“HTTP”或“HTTPS”。什麼是 HTTP,它是如何工作的?讓我們看看將網絡連接在一起的膠水。

HTTP:短版

HTTP 是超文本傳輸協議的首字母縮寫。讓我們稍微分解一下,從“協議”部分開始。在工程中,協議是一組機器必須遵循的規則才能相互“交談”。例如,VPN 協議定義了 VPN 如何與服務器交互。HTTP 遠沒有這個具體,而是為 Internet 的工作方式設置規則。

這並不誇張。如果沒有 HTTP,就無法通過萬維網進行通信。這是因為 HTTP 管理 Web 服務器和 Web 客戶端之間的通信——“傳輸”部分。Web 服務器是您連接以查看網站的地方;例如,您當前已連接到 How-to Geek Web 服務器,因此您可以閱讀本文。

您需要一個 Web 客戶端來訪問 Web 服務器。在大多數情況下,此客戶端是您的瀏覽器,但它實際上可以是任何應用程序。例如,如果您從 Facebook 移動應用程序訪問了這篇文章,那麼應用程序中的 Facebook 瀏覽器就是您的 Web 客戶端。客戶端-服務器通信幾乎可以歸結為整個 Internet,而 HTTP 是其中不可或缺的一部分。

HTTP 首字母縮寫詞的最後一部分是“超文本”部分,它是被傳輸的文件類型,幾乎總是通過 HTML 文件。這些類型的文件是 Web 的構建塊,因為它們不僅代表語言,而且還可以鏈接在一起。這與您設備上的文件類型不同,通常無法做到這一點。

簡要介紹 HTTP 的工作原理

HTTP 是運行在所謂的 Internet 應用層上的協議,在 Internet 層之上,Internet 的真正具體細節就像 IP 地址一樣。在應用層,您會發現您每天使用的瀏覽器和應用程序,HTTP 幾乎就是其中的一部分。

它的工作方式是您的瀏覽器(客戶端)通過網絡發送 HTTP 請求,該請求由您要訪問的站點的服務器處理。然後該站點發送一個 HTTP 響應,如果一切順利,這就是您想要查看的頁面。然後瀏覽器顯示響應。

HTTP 請求的細分

當然,僅此而已。一個HTTP請求實際上由幾個部分組成,每個部分在站點的展示中都扮演著重要的角色。任何請求中最重要的部分是 HTTP 方法、請求標頭和請求正文。

方法通常是從 HTTP 請求的操作,即獲取信息或提供信息(分別為“GET”和“POST”命令,儘管還有許多其他命令)。HTML 請求標頭有點難以解釋,但可以將它們視為信封:每個都包含它要去的地址、發件人的地址,以及一大堆其他信息,如郵箱(瀏覽器)類型和加密信息。

HTML 正文用諸如登錄信息或服務器為了呈現頁面而需要知道的任何其他信息“填充”信封;有時它是空的,足夠一個信封,一個請求標頭。

HTTP 響應

收到請求後,Web 服務器現在開始處理其響應,該響應也由三部分組成:HTTP 狀態代碼、響應標頭和響應正文。標頭和正文與請求中的對應項非常相似,只是正文將包含更多信息,例如包含用於顯示網頁的信息的文件。

狀態碼是一種有趣的接觸,因為我們可能都遇到過它們,但並不了解它們是什麼。這是三個可以從 1 到 5 開始的數字。每個系列都意味著一些東西。因此,任何以 2 開頭的三位代碼都表示成功(頁面顯示沒有問題),而以 4 開頭的代碼則表示錯誤,例如臭名昭​​著的 404: page not found 代碼。

這個呼叫和響應系統是我們在網上所做的一切的基礎。雖然它比我們上面描述的更複雜,但這涵蓋了基礎知識。當然,還有一個問題是如何保證所有這些通信的安全。

HTTP 安全性

這就是我們遇到 HTTP 問題的地方:沒有任何信息被加密或以任何方式保護。這純粹是請求和接收,沒有添加安全性的步驟。任何可以攔截消息的人都可以看到正在發送的內容,包括信用卡號或帳戶信息等內容。

在某種程度上,這就像隔著你的財產與隔著柵欄的鄰居交談:你們每個人都在自己的區域內,但如果有人離得足夠近,他會聽到你的每一個字。

正如你可以想像的那樣,這對大多數互聯網用戶來說是個壞消息,而對於那些追捕他們的人來說,這是一個難以置信的好消息。為了解決這個問題,一種稱為 HTTPS 的新型 HTTP 已經推出,最後的“S”代表“安全”。這種類型的 HTTP 確實對信息進行了加密,這使得任何人都更難竊聽,可以這麼說。

如今,看到所謂的“普通”HTTP 變得越來越少,因為在過去幾年中,幾乎每個值得一提的網站都轉向了 HTTPS。他們中的一些人——出於各種原因,取決於網站的所有者——抵制了這種變化。您可以避開它們,或者至少使用 VPN 來保護任何敏感信息。

也就是說,雖然 HTTPS 絕對是一個重要的升級,但僅此而已,升級。HTTP 從一開始就在網絡上使用,我們懷疑這會很快改變。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *