400-650-7353
您所在的位置:首頁 > IT干貨資料 > web前端 > 【W(wǎng)eb前端基礎(chǔ)知識】http和https詳解

【W(wǎng)eb前端基礎(chǔ)知識】http和https詳解

  • 發(fā)布: Web前端培訓(xùn)
  • 來源:
  • 2021-07-26 15:43:52
  • 閱讀()
  • 分享
  • 手機(jī)端入口

1.什么是協(xié)議?

網(wǎng)絡(luò)協(xié)議是計(jì)算機(jī)之間為了實(shí)現(xiàn)網(wǎng)絡(luò)通信而達(dá)成的一種“約定”或者”規(guī)則“,有了這種”約定“,不同廠商的生產(chǎn)設(shè)備,以及不同操作系統(tǒng)組成的計(jì)算機(jī)之間,就可以實(shí)現(xiàn)通信。

2.HTTP協(xié)議是什么?

HTTP協(xié)議是超文本傳輸協(xié)議的縮寫,英文是Hyper Text Transfer Protocol。它是從WEB服務(wù)器傳輸超文本標(biāo)記語言(HTML)到本地瀏覽器的傳送協(xié)議。

設(shè)計(jì)HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法。

HTPP有多個版本,目前廣泛使用的是HTTP/1.1版本。

3.HTTP原理

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

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

【W(wǎng)eb前端基礎(chǔ)】http和https詳解

4.HTTP特點(diǎn)

http協(xié)議支持客戶端/服務(wù)端模式,也是一種請求/響應(yīng)模式的協(xié)議。

簡單快速:客戶向服務(wù)器請求服務(wù)時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。

靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。傳輸?shù)念愋陀蒀ontent-Type加以標(biāo)記。

無連接:限制每次連接只處理一個請求。服務(wù)器處理完請求,并收到客戶的應(yīng)答后,即斷開連接,但是卻不利于客戶端與服務(wù)器保持會話連接,為了彌補(bǔ)這種不足,產(chǎn)生了兩項(xiàng)記錄http狀態(tài)的技術(shù),一個叫做Cookie,一個叫做Session。

無狀態(tài):無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶,后續(xù)處理需要前面的信息,則必須重傳。

5.URI和URL的區(qū)別

HTTP使用統(tǒng)一資源標(biāo)識符(Uniform Resource Identifiers, URI)來傳輸數(shù)據(jù)和建立連接。

• URI:Uniform Resource Identifier 統(tǒng)一資源標(biāo)識符

• URL:Uniform Resource Location 統(tǒng)一資源定位符

URI 是用來標(biāo)示 一個具體的資源的,我們可以通過 URI 知道一個資源是什么。

URL 則是用來定位具體的資源的,標(biāo)示了一個具體的資源位置。互聯(lián)網(wǎng)上的每個文件都有一個唯一的URL。

6.HTTP報文組成

請求報文構(gòu)成

請求行:包括請求方法、URL、協(xié)議/版本

請求頭(Request Header)

請求正文

7.常見請求方法

• GET:請求指定的頁面信息,并返回實(shí)體主體。

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

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

• PUT:從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。

• DELETE:請求服務(wù)器刪除指定的頁面。

post和get的區(qū)別:

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

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

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

• GET提交的數(shù)據(jù)長度是有限制的,因?yàn)閁RL長度有限制,具體的長度限制視瀏覽器而定。而POST沒有。

8.響應(yīng)狀態(tài)碼

訪問一個網(wǎng)頁時,瀏覽器會向web服務(wù)器發(fā)出請求。此網(wǎng)頁所在的服務(wù)器會返回一個包含HTTP狀態(tài)碼的信息頭用以響應(yīng)瀏覽器的請求。

狀態(tài)碼分類:

• 1XX- 信息型,服務(wù)器收到請求,需要請求者繼續(xù)操作。

• 2XX- 成功型,請求成功收到,理解并處理。

• 3XX - 重定向,需要進(jìn)一步的操作以完成請求。

• 4XX - 客戶端錯誤,請求包含語法錯誤或無法完成請求。

• 5XX - 服務(wù)器錯誤,服務(wù)器在處理請求的過程中發(fā)生了錯誤。

常見狀態(tài)碼:

• 200 OK - 客戶端請求成功

• 301 - 資源(網(wǎng)頁等)被永久轉(zhuǎn)移到其它URL

• 302 - 臨時跳轉(zhuǎn)

• 400 Bad Request - 客戶端請求有語法錯誤,不能被服務(wù)器所理解

• 401 Unauthorized - 請求未經(jīng)授權(quán),這個狀態(tài)代碼必須和WWW-Authenticate報頭域一起使用

• 404 - 請求資源不存在,可能是輸入了錯誤的URL

• 500 - 服務(wù)器內(nèi)部發(fā)生了不可預(yù)期的錯誤

• 503 Server Unavailable - 服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常。

9.為什么要用https?

實(shí)際使用中,絕大說的網(wǎng)站現(xiàn)在都采用的是https協(xié)議,這也是未來互聯(lián)網(wǎng)發(fā)展的趨勢。

HTTP協(xié)議不適合傳輸一些敏感信息,比如:各種賬號、密碼等信息,使用http協(xié)議傳輸隱私信息非常不安全。

一般http中存在如下問題:

• 請求信息明文傳輸,容易被竊聽截取。

• 數(shù)據(jù)的完整性未校驗(yàn),容易被篡改

• 沒有驗(yàn)證對方身份,存在冒充危險

10.什么是HTTPS?

為了解決上述HTTP存在的問題,就用到了HTTPS。

HTTPS 協(xié)議(HyperText Transfer Protocol over Secure Socket Layer):一般理解為HTTP+SSL/TLS,通過 SSL證書來驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信進(jìn)行加密。

那么SSL又是什么?

SSL(Secure Socket Layer,安全套接字層):1994年為 Netscape 所研發(fā),SSL 協(xié)議位于 TCP/IP 協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。

TLS(Transport Layer Security,傳輸層安全):其前身是 SSL,它最初的幾個版本(SSL 1.0、SSL 2.0、SSL 3.0)由網(wǎng)景公司開發(fā),1999年從 3.1 開始被 IETF 標(biāo)準(zhǔn)化并改名,發(fā)展至今已經(jīng)有 TLS 1.0、TLS 1.1、TLS 1.2 三個版本。SSL3.0和TLS1.0由于存在安全漏洞,已經(jīng)很少被使用到。TLS 1.3 改動會比較大,目前還在草案階段,目前使用最廣泛的是TLS 1.1、TLS 1.2。

SSL發(fā)展史(互聯(lián)網(wǎng)加密通信)

1994年NetSpace公司設(shè)計(jì)SSL協(xié)議(Secure Sockets Layout)1.0版本,但未發(fā)布。

1995年NetSpace發(fā)布SSL/2.0版本,很快發(fā)現(xiàn)有嚴(yán)重漏洞

1996年發(fā)布SSL/3.0版本,得到大規(guī)模應(yīng)用

1999年,發(fā)布了SSL升級版TLS/1.0版本,目前應(yīng)用最廣泛的版本

2006年和2008年,發(fā)布了TLS/1.1版本和TLS/1.2版本

11.瀏覽器在使用HTTPS傳輸數(shù)據(jù)的流程是什么?

數(shù)據(jù)傳輸流程

首先客戶端通過URL訪問服務(wù)器建立SSL連接。

服務(wù)端收到客戶端請求后,會將網(wǎng)站支持的證書信息(證書中包含公鑰)傳送一份給客戶端。

客戶端的服務(wù)器開始協(xié)商SSL連接的安全等級,也就是信息加密的等級。

客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。

服務(wù)器利用自己的私鑰解密出會話密鑰。

服務(wù)器利用會話密鑰加密與客戶端之間的通信。

12.HTTPS的缺點(diǎn)

• HTTPS協(xié)議多次握手,導(dǎo)致頁面的加載時間延長近50%;

• HTTPS連接緩存不如HTTP高效,會增加數(shù)據(jù)開銷和功耗;

• 申請SSL證書需要錢,功能越強(qiáng)大的證書費(fèi)用越高。

• SSL涉及到的安全算法會消耗 CPU 資源,對服務(wù)器資源消耗較大。

13.總結(jié)HTTPS和HTTP的區(qū)別

• HTTPS是HTTP協(xié)議的安全版本,HTTP協(xié)議的數(shù)據(jù)傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協(xié)議進(jìn)行了加密處理。

• http和https使用連接方式不同,默認(rèn)端口也不一樣,http是80,https是443。

文章“【W(wǎng)eb前端基礎(chǔ)知識】http和https詳解”已幫助

更多內(nèi)容

>>本文地址:http://littlerockbway.com/zhuanye/2021/69435.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營全域電商運(yùn)營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時間TIME