你需要知道的關於HTTP的一切
HTTP(超文本傳輸協議)提供網絡瀏覽器和服務器用於通信的網絡協議標準。 訪問網站時很容易識別,因為它是正確寫入URL (例如http:// www。 )。
該協議與其他FTP類似,因為客戶端程序使用該協議從遠程服務器請求文件。 在HTTP的情況下,它通常是一個Web瀏覽器,它從Web服務器請求HTML文件,然後在瀏覽器中顯示文本,圖像,超鏈接等。
HTTP就是所謂的“無狀態系統”。 這意味著與其他文件傳輸協議(如FTP)不同 ,一旦請求完成,HTTP連接就會被丟棄。 因此,一旦您的Web瀏覽器發送請求並且服務器響應該頁面,連接就會關閉。
由於大多數Web瀏覽器默認為HTTP,因此您只能輸入域名並讓瀏覽器自動填充“http://”部分。
HTTP的歷史
作為定義原始萬維網的工作的一部分,Tim Berners-Lee在20世紀90年代早期創建了最初的HTTP。 在20世紀90年代廣泛部署了三個主要版本:
- HTTP 0.9(用於支持基本的超文本文件)
- HTTP 1.0(支持豐富網站和可擴展性的擴展)
- HTTP 1.1(開髮用於解決HTTP 1.0的性能限制,在Internet RFC 2068中指定)
最新版本HTTP 2.0在2015年成為核准標準。它保持與HTTP 1.1的向後兼容性,但提供了額外的性能增強。
雖然標準HTTP不會對通過網絡發送的流量進行加密,但HTTPS標準的開發旨在通過使用(最初) 安全套接字層(SSL)或(以後)傳輸層安全性(TLS)向HTTP添加加密。
HTTP如何工作
HTTP是建立在使用客戶端 - 服務器通信模型的TCP之上的應用層協議。 HTTP客戶端和服務器通過HTTP請求和響應消息進行通信。 三種主要的HTTP消息類型是GET,POST和HEAD。
- 發送到服務器的HTTP GET消息只包含一個URL 。 可以將零個或多個可選數據參數附加到URL的末尾。 服務器處理URL的可選數據部分(如果存在),並將結果(網頁或網頁元素)返回給瀏覽器。
- HTTP POST消息將任何可選的數據參數放在請求消息的主體中,而不是將它們添加到URL的末尾。
- HTTP HEAD請求與GET請求的作用相同。 服務器不是回复URL的全部內容,而是僅返回頭部信息(包含在HTML部分中)。
瀏覽器通過啟動與服務器的TCP連接來啟動與HTTP服務器的通信。 Web瀏覽會話默認使用服務器端口80,但有時也會使用其他端口(如8080)。
一旦會話建立,用戶就可以通過訪問網頁來觸發HTTP消息的發送和接收。
HTTP的問題
由於以下幾個原因,通過HTTP傳輸的消息可能無法成功傳送:
- 用戶錯誤
- Web瀏覽器或Web服務器的故障
- 在創建網頁時出現錯誤
- 暫時的網絡故障
發生這些故障時,協議捕獲故障原因(如果可能)並將錯誤代碼報告給瀏覽器,稱為HTTP狀態行/代碼 。 錯誤以特定數字開始,以指示它是哪種錯誤。
例如,4xx錯誤指示無法正確完成對頁面的請求,或者請求包含不正確的語法 。 例如, 404錯誤意味著無法找到該頁面; 一些網站甚至有一些有趣的自定義404錯誤頁面 。