日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详解HTTP与HTTPS

發(fā)布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解HTTP与HTTPS 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、什么是HTTP?什么是HTTPS?

1.1 HTTP概念

1.2 HTTPS概念

二、HTTP原理與特點

2.1 HTTP實現(xiàn)原理

?2.2?HTTP的特點

三、HTTPS原理與特點

3.1 HTTPS原理

3.2 對稱加密與非對稱加密

3.3 HTTPS通信過程

1. 客戶端發(fā)起HTTPS請求

2. 服務端的配置

3. 傳送證書

4. 客戶端解析證書

5. 傳送加密信息

6. 服務段解密信息

7. 傳輸加密后的信息

8. 客戶端解密信息

3.4 HTTPS特點

四、HTTP與HTTP特點與區(qū)別

4.1 常見請求方法

4.2 post和get的區(qū)別:

4.3 多路復用

4.4 HTTPS的優(yōu)點

4.5?HTTPS的缺點

五、總結HTTPS和HTTP的區(qū)別

六、詳解瀏覽器解析一個URL


一、什么是HTTP?什么是HTTPS?

1.1 HTTP概念

HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)是一種基于請求與響應,無狀態(tài)的,用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應用層協(xié)議。 簡單來說就是一種發(fā)布和接收 HTML 頁面的方法,被用于在 Web 瀏覽器和網(wǎng)站服務器之間傳遞信息。基于TCP/IP協(xié)議傳輸數(shù)據(jù),互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議,所有的WWW文件都必須遵守這個標準。

HTTP 默認工作在 TCP 協(xié)議 80 端口,用戶訪問網(wǎng)站?http://?打頭的都是標準 HTTP 服務。

HTTP 協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。

發(fā)展歷史

?

1.2 HTTPS概念

HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協(xié)議)是一種透過計算機網(wǎng)絡進行安全通信的傳輸協(xié)議。HTTPS是身披SSL外殼的HTTP,即HTTPS 經(jīng)由 HTTP 進行通信,但利用 SSL/TLS 來加密數(shù)據(jù)包。HTTPS 開發(fā)的主要目的,是提供對網(wǎng)站服務器的身份認證,保護交換數(shù)據(jù)的隱私與完整性。HTTPS 默認工作在 TCP 協(xié)議443端口。

PS:TLS是傳輸層加密協(xié)議,前身是SSL協(xié)議,由網(wǎng)景公司1995年發(fā)布,有時候兩者不區(qū)分。

二、HTTP原理與特點

2.1 HTTP實現(xiàn)原理

HTTP是一個基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)的協(xié)議,傳輸?shù)臄?shù)據(jù)類型為HTML 文件、圖片文件、查詢結果等。

HTTP協(xié)議一般用于B/S架構。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發(fā)送所有請求。

我們以訪問百度為例:

?2.2?HTTP的特點

  • http協(xié)議支持客戶端/服務端模式,也是一種請求/響應模式的協(xié)議。
  • 簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。
  • 靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。傳輸?shù)念愋陀蒀ontent-Type加以標記。
  • 無連接:限制每次連接只處理一個請求。服務器處理完請求,并收到客戶的應答后,即斷開連接,但是卻不利于客戶端與服務器保持會話連接,為了彌補這種不足,產(chǎn)生了兩項記錄http狀態(tài)的技術,一個叫做Cookie,一個叫做Session。
  • 無狀態(tài):無狀態(tài)是指協(xié)議對于事務處理沒有記憶,后續(xù)處理需要前面的信息,則必須重傳。
  • 三、HTTPS原理與特點

    3.1 HTTPS原理

    HTTPS其實是有兩部分組成:HTTP +?SSL?/ TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸?shù)臄?shù)據(jù)都是加密后的數(shù)據(jù)。具體是如何進行加密,解密,驗證的,且看下圖。

    3.2 對稱加密與非對稱加密

    這里涉及到?對稱加密與非對稱加密的概念,HTTPS使用的是混合加密,也就是對稱加密與非對稱加密結合。

    先了解加密的幾種方式

    加密無處不在 ,加密方式主要是分為兩種 :對稱加密非對稱加密

    對稱加密算法和非對稱加密算法只不過是密碼學中的兩種加密算法罷了,所謂的算法就是一種可以將信息從一種形式轉變?yōu)榱硪环N形式的規(guī)則。

    ?對稱加密

    對稱密鑰加密,又稱為對稱加密、私鑰加密、共享秘鑰加密,是密碼學中的一類加密算法。這類算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單地相互推算的密鑰

    對稱加密也可以理解為一方通過密鑰將信息加密之后,把密文傳給另一方,另一方通過這個相同的密鑰將密文解密,轉換成可以理解的明文。簡單的可以理解為一把鑰匙既能加鎖,還能用同一把鑰匙進行 解鎖。

    常見的對稱加密算法:DES、3DES、AES、Blowfish、IDEA、RC5、RC6;

    對稱加密的算法非常之多,一般使用中用AES就基本夠用了。

    非對稱加密

    公開秘鑰加密,也稱為非對稱加密,一種密碼學算法類型,在這種密碼學方法中,需要一對密鑰,一個是私人密鑰,另一個則是公開密鑰。這兩個密鑰是數(shù)學相關,是某用戶密鑰加密后所得的信息,只能用該用戶的解密密鑰才能解密。如果知道了其中一個,并不能計算出另外一個。因此如果公開了一對密鑰中的一個,并不會危害到另外一個的秘密性質(zhì)。稱公開的密鑰為公鑰,不公開的密鑰為私鑰。

    非對稱加密的使用方式就是,比如A想將數(shù)據(jù)傳輸給B,那么首先A會向B索取一份公鑰,A拿到公鑰之后,通過該公鑰對數(shù)據(jù)進行非對稱加密,然后將密文傳輸給B,B收到密文之后通過私鑰將其進行解密,從而得到數(shù)據(jù)內(nèi)容。也就是說一把鎖可以使用兩把鑰匙進行解密。

    常見的非對稱加密算法:RSA、Elgamal、背包算法、Rabin。

    RSA這種加密算法應用非常廣泛,如SSH、HTTPS、TLS、電子證書、電子簽名、電子身份證等。

    加密方式總結

    • 對稱加密加密與解密使用的是同樣的密鑰,所以速度快,但由于需要將密鑰在網(wǎng)絡傳輸,所以安全性不高;
    • 非對稱加密使用了一對密鑰,公鑰和私鑰,所以安全性高,但加密與解密速度慢;
    • 解決的方法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密,然后發(fā)送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然后雙方可以使用對稱加密來進行溝通。

    混合加密

    結合非對稱加密和對稱加密技術。客戶端使用對稱加密生成密鑰對傳輸數(shù)據(jù)進行加密,然后使用非對稱加密的公鑰再對秘鑰進行加密,所以網(wǎng)絡上傳輸?shù)臄?shù)據(jù)是被秘鑰加密的密文和用公鑰加密后的秘密秘鑰,因此即使被黑客截取,由于沒有私鑰,無法獲取到加密明文的秘鑰,便無法獲取到明文數(shù)據(jù)。

    3.3 HTTPS通信過程

    1. 客戶端發(fā)起HTTPS請求

    這個沒什么好說的,就是用戶在瀏覽器里輸入一個https網(wǎng)址,然后連接到server的443端口。

    2. 服務端的配置

    采用HTTPS協(xié)議的服務器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請。區(qū)別就是自己頒發(fā)的證書需要客戶端驗證通過,才可以繼續(xù)訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。這套證書其實就是一對公鑰和私鑰。如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然后發(fā)給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。

    3. 傳送證書

    這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發(fā)機構,過期時間等等。

    4. 客戶端解析證書

    這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發(fā)機構,過期時間等等,如果發(fā)現(xiàn)異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那么就生成一個隨機值。然后用證書對該隨機值進行加密。就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內(nèi)容。

    5. 傳送加密信息

    這部分傳送的是用證書加密后的隨機值,目的就是讓服務端得到這個隨機值,以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。

    這個隨機值其實可以理解為客戶端的鑰匙!這里也就是用服務端的公鑰來加密客戶端的鑰匙,再傳給服務端,服務端后續(xù)就用這個鑰匙來對內(nèi)容加密,再把內(nèi)容傳給客戶端,客戶端就能對其進行解密。

    6. 服務段解密信息

    服務端用私鑰解密后,得到了客戶端傳過來的隨機值(私鑰),然后把內(nèi)容通過該值進行對稱加密。所謂對稱加密就是,將信息和私鑰通過某種算法混合在一起,這樣除非知道私鑰,不然無法獲取內(nèi)容,而正好客戶端和服務端都知道這個私鑰,所以只要加密算法夠彪悍,私鑰夠復雜,數(shù)據(jù)就夠安全。

    7. 傳輸加密后的信息

    這部分信息是服務段用私鑰加密后的信息,可以在客戶端被還原

    8. 客戶端解密信息

    客戶端用之前生成的私鑰解密服務段傳過來的信息,于是獲取了解密后的內(nèi)容。整個過程第三方即使監(jiān)聽到了數(shù)據(jù),也束手無策。

    3.4 HTTPS特點

  • 收方能夠證實發(fā)送方的真實身份;
  • 發(fā)送方事后不能否認所發(fā)送過的報文;
  • 收方或非法者不能偽造、篡改報文。
  • 四、HTTP與HTTP特點與區(qū)別

    4.1 常見請求方法

    GET:請求指定的頁面信息,并返回實體主體。

    POST:向指定資源提交數(shù)據(jù)進行處理請求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。

    HEAD:類似于get請求,只不過返回的響應中沒有具體的內(nèi)容,用于獲取報頭

    PUT:從客戶端向服務器傳送的數(shù)據(jù)取代

    4.2 post和get的區(qū)別:

    都包含請求頭請求行,post多了請求body。

    get多用來查詢,請求參數(shù)放在url中,不會對服務器上的內(nèi)容產(chǎn)生作用。post用來提交,如把賬號密碼放入body中。

    GET是直接添加到URL后面的,直接就可以在URL中看到內(nèi)容,而POST是放在報文內(nèi)部的,用戶無法直接看到。

    GET提交的數(shù)據(jù)長度是有限制的,因為URL長度有限制,具體的長度限制視瀏覽器而定。而POST沒有。

    4.3 多路復用

    通過單一的HTTP/2連接請求發(fā)起多重的請求-響應消息,多個請求stream共享一個TCP連接,實現(xiàn)多留并行而不是依賴建立多個TCP連接。

    4.4 HTTPS的優(yōu)點

  • 使用HTTPS協(xié)議可認證用戶和服務器,確保數(shù)據(jù)發(fā)送到正確的客戶機和服務器;
  • HTTPS協(xié)議是由SSL+HTTP協(xié)議構建的可進行加密傳輸、身份認證的網(wǎng)絡協(xié)議,要比http協(xié)議安全,可防止數(shù)據(jù)在傳輸過程中不被竊取、改變,確保數(shù)據(jù)的完整性。
  • HTTPS是現(xiàn)行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
  • 谷歌曾在2014年8月份調(diào)整搜索引擎算法,并稱“比起同等HTTP網(wǎng)站,采用HTTPS加密的網(wǎng)站在搜索結果中的排名將會更高”
  • 4.5?HTTPS的缺點

  • HTTPS協(xié)議握手階段比較費時,會使頁面的加載時間延長近50%,增加10%到20%的耗電;
  • HTTPS連接緩存不如HTTP高效,會增加數(shù)據(jù)開銷和功耗,甚至已有的安全措施也會因此而受到影響;
  • SSL證書需要錢,功能越強大的證書費用越高,個人網(wǎng)站、小網(wǎng)站沒有必要一般不會用。
  • SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。
  • HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務攻擊、服務器劫持等方面幾乎起不到什么作用。最關鍵的,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
  • 五、總結HTTPS和HTTP的區(qū)別

    • HTTPS是HTTP協(xié)議的安全版本,HTTP協(xié)議的數(shù)據(jù)傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協(xié)議進行了加密處理。
    • http和https使用連接方式不同,默認端口也不一樣,http是80,https是443。

    六、詳解瀏覽器解析一個URL

    https://blog.csdn.net/qq_41687938/article/details/119778557

    總結

    以上是生活随笔為你收集整理的详解HTTP与HTTPS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。