什麼是HTTP? HTTP 和 HTTPS 的區別?

来源:https://www.cnblogs.com/smileZAZ/p/18081168
-Advertisement-
Play Games

這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 一、HTTP HTTP (HyperText Transfer Protocol),即超文本運輸協議,是實現網路通信的一種規範 在電腦和網路世界有,存在不同的協議,如廣播協議、定址協議、路由協議等等...... 而HTTP是一個傳輸協議 ...


這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助

一、HTTP

HTTP (HyperText Transfer Protocol),即超文本運輸協議,是實現網路通信的一種規範

在電腦和網路世界有,存在不同的協議,如廣播協議、定址協議、路由協議等等......

HTTP是一個傳輸協議,即將數據由A傳到B或將B傳輸到A,並且 A 與 B 之間能夠存放很多第三方,如: A<=>X<=>Y<=>Z<=>B

傳輸的數據並不是電腦底層中的二進位包,而是完整的、有意義的數據,如HTML 文件, 圖片文件, 查詢結果等超文本,能夠被上層應用識別

在實際應用中,HTTP常被用於在Web瀏覽器和網站伺服器之間傳遞信息,以明文方式發送內容,不提供任何方式的數據加密

特點如下:

  • 支持客戶/伺服器模式

  • 簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。由於HTTP協議簡單,使得HTTP伺服器的程式規模小,因而通信速度很快

  • 靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記

  • 無連接:無連接的含義是限制每次連接只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間

  • 無狀態:HTTP協議無法根據之前的狀態進行本次的請求處理

二、HTTPS

在上述介紹HTTP中,瞭解到HTTP傳遞信息是以明文的形式發送內容,這並不安全。而HTTPS出現正是為瞭解決HTTP不安全的特性

為了保證這些隱私數據能加密傳輸,讓HTTP運行安全的SSL/TLS協議上,即 HTTPS = HTTP + SSL/TLS,通過 SSL證書來驗證伺服器的身份,併為瀏覽器和伺服器之間的通信進行加密

SSL 協議位於TCP/IP 協議與各種應用層協議之間,瀏覽器和伺服器在使用 SSL 建立連接時需要選擇一組恰當的加密演算法來實現安全通信,為數據通訊提供安全支持

 流程圖如下所示:

  • 首先客戶端通過URL訪問伺服器建立SSL連接
  • 服務端收到客戶端請求後,會將網站支持的證書信息(證書中包含公鑰)傳送一份給客戶端
  • 客戶端的伺服器開始協商SSL連接的安全等級,也就是信息加密的等級
  • 客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然後利用網站的公鑰將會話密鑰加密,並傳送給網站
  • 伺服器利用自己的私鑰解密出會話密鑰
  • 伺服器利用會話密鑰加密與客戶端之間的通信

三、區別

  • HTTPS是HTTP協議的安全版本,HTTP協議的數據傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協議進行了加密處理,相對更安全
  • HTTP 和 HTTPS 使用連接方式不同,預設埠也不一樣,HTTP是80,HTTPS是443
  • HTTPS 由於需要設計加密以及多次握手,性能方面不如 HTTP
  • HTTPS需要SSL,SSL 證書需要錢,功能越強大的證書費用越高

參考文獻

  • https://www.cnblogs.com/klb561/p/10289199.html
  • https://www.jianshu.com/p/205c0fc51c97
  • https://vue3js.cn/interview

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言: 在廣州這座城市下著小雨的晚上,我正在廚房洗著碗,突然手機有來電,脫下手套,一看是來自阿裡雲的告警電話。打開飛書查看告警內容,發現某個業務的RDS只讀實例CPU飈到100%,下意識覺得是不是有慢查詢導致,想著不會有啥問題,上去kill慢查就好了,結果發現是大問題....一、發現問題 2024年 ...
  • 我司使用Apache DolphinScheduler作為調度框架很久了,感興趣的小伙伴可以看看這些乾貨文章: 因為之前監控到會出現重覆的調度的問題,所以此文記錄排查重覆調度問題的全過程,希望對社區其他的小伙伴能夠起到拋磚引玉的作用! 註:本文使用的DolphinScheduler 3.1.1的版本 ...
  • 本文分享自華為雲社區《【防過載檢查項】》,作者: 譡里個檔。 1. GUC參數檢查 目的:針對不同版本建議設定不同的參數值,當前先檢查出來,後續diagnosis會給出建議值 SELECT split_part((substring(version() from '\((.*)\)')), ' ', ...
  • 作者:盧文雙 資深資料庫內核研發 本文首發於 2024-03-06 20:52:24 https://dbkernel.com 前言 計算下推是資料庫優化器優化查詢性能的一種常見手段,早期的資料庫系統提及的計算下推一般是指謂詞下推,其理論源自關係代數理論。2000 年以後,隨著 Oracle RAC ...
  • 背景 業務端遇到報錯為"Deadlock found when trying to get lock; try restarting transaction"則表明有死鎖發生 名稱 配置 資料庫版本 GreatSQL 8.0.26 隔離級別 Read-Commited innodb status 日 ...
  • 原文: Kotlin 協程基礎使用學習-Stars-One的雜貨小窩 本篇閱讀可能需要以下知識,否則可能閱讀會有些困難 客戶端開發基礎(Android開發或JavaFx開發) Java多線程基礎 kotlin基礎 本文儘量以使用為主,以代碼為輔講解,不提及過深協程底層代碼邏輯,僅做一個基礎入門來快速 ...
  • Android 輔助功能 -搶紅包(三) 本篇文章繼續講述輔助功能. 主要通過監聽通知欄紅包消息,來跳轉聊天頁面,並自動回覆對方"謝謝". 上篇文章我們講述了監聽notification, 跳轉聊天界面. 具體可查看: Android 輔助功能 -搶紅包(二) 1: 使用monitor抓取id. 打 ...
  • 基礎與面試題:viewpoint 與 rem、百分比高度、px 一、定義 ​ 一個表總結: 名稱 定義 使用示例 viewpoint 是指用戶在網頁上實際可見和可交互的區域,通常指的是瀏覽器視窗或移動設備的屏幕尺寸。 width:100vw;height:100vh rem (root em)是相對 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...