http協議與https協議的區別

路人宸 2022-01-08 03:51:05 阅读数:437

http https

HTTP

HTTP:是超文本傳輸協議(HyperText Transfer Protocol)的簡寫 ,是一種網絡傳輸協議,基於TCP,規定了數據傳輸的格式,是互聯網上應用最為廣泛的一種網絡協議。

現在客戶端瀏覽器與服務端通信基本都是采用Http協議。也可以用來進行遠程服務調用。缺點是消息封裝臃腫。

HTTP作用:用於定義WEB瀏覽器與WEB服務器之間交換數據的過程和數據本身的內容

HTTPS(HTTP+SSL)

HTTPS:是以安全為目標的 HTTP 通道,是 HTTP 的安全版,HTTPS 的安全基礎是 SSL。

SSL,英文全拼是Secure Sockets Layer ,比特於 TCP/IP 協議與各種應用層協議之間,為數據通訊提供安全支持。

SSL安全協議只要有兩大作用:

第一,SSL可以防止被黑客竊聽數據。

第二,SSL可以防止數據在傳輸過程中被黑客肆意篡改,保證數據傳輸的完整性

SSL 協議可分為兩層:

SSL 記錄協議(SSL Record Protocol),建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。

SSL 握手協議(SSL Handshake Protocol),建立在 SSL 記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。

SSL 協議提供的安全通道有以下三個特性:

機密性:SSL 協議使用密鑰加密通信數據。

可靠性:服務器和客戶都會被認證,客戶的認證是可選的。

完整性:SSL 協議會對傳送的數據進行完整性檢查。

HTTP 與 HTTPS(HTTP+SSL)的區別

1、HTTP 無需證書,而 HTTPS 需要 CA (Certificate Authority,證書頒發機構)機構頒發的 SSL 證書,一般免費證書較少,因而需要一定費用。

2、HTTP 是超文本傳輸協議,信息是明文傳輸,HTTP 是不安全的,而 HTTPS則是具有安全性的 SSL 加密傳輸協議。

3、HTTP 和 HTTPS 使用的是完全不同的連接方式,用的端口也不一樣,HTTP 標准端口是 80 ,而 HTTPS 的標准端口是 443

4、HTTP 的連接很簡單,是無狀態的。HTTPS 協議是由 SSL+HTTP 協議構建的可進行加密傳輸、身份認證的網絡協議,比 HTTP 協議安全。

(無狀態是指其數據包的發送、傳輸和接收都是相互獨立的。無連接是指通信雙方都不長久的維持對方的任何信息。)

HTTP 中重定向和請求轉發的區別

本質區別:請求轉發是服務器行為,重定向是客戶端行為

請求轉發 :一次請求,瀏覽器地址不變,訪問的是自己本身的 web 資源,傳輸的數據不會丟失。
重定向 :兩次請求,瀏覽器地址發生變化,可以訪問自己 web 之外的資源,傳輸的數據會丟失。

HTTP 的長連接和短連

HTTP常見的狀態碼

消息響應 100 Continue(繼續)
成功響應 200 OK(成功) 正常,成功
重定向
301 Moved Permanently(永久移除)
請求的 URL 已移走
302 Found(臨時移動) 重定向
304 Not Modified(未修改) 錶示客戶機緩存的版本是最新的,客戶機可以繼續使用它,無需到服務器請求. 讀取緩存
客戶端錯誤 400 Bad Request(錯誤請求)
客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized(未授權)
請求未經授權,這個狀態代碼必須和 WWW-Authenticate 報頭域一起使用
402 Payment Required(需要付款)
403 Forbidden(禁止訪問) 請求被禁止,常發生於跨域請求(沒有權限去請求進入某個服務器)
404 Not Found(未找到) 客戶端錯誤 (請求路徑不存在 或者請求地址寫錯了)
406 Not Acceptable(無法接受) 請求與響應不一致 請求和響應是的content-Type設置不一樣
408 Request Timeout(請求超時)
服務器端錯誤 500 Internal Server Error(內部服務器錯誤) 服務器內部錯誤(程序運行出錯了 Java代碼運行報錯)
504 Gateway Timeout (網關超時)

版权声明:本文为[路人宸]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080351045028.html