目錄
前言:
1.HTTP協(xié)議
1.1HTTP協(xié)議是什么
1.2HTTP協(xié)議的報(bào)文格式
1.2.1抓包工具的使用
1.2.2HTTP請(qǐng)求
1.2.3HTTP響應(yīng)
2.HTTP請(qǐng)求
2.1首行的組成
2.2.1URL的組成
2.2認(rèn)識(shí)“方法”(method)
2.2.1GET方法
2.2.2POST方法
2.2.3GET和POST請(qǐng)求的區(qū)別
2.3認(rèn)識(shí)請(qǐng)求“報(bào)頭”(header)
2.4認(rèn)識(shí)請(qǐng)求正文(body)
3.HTTP響應(yīng)
3.1認(rèn)識(shí)“狀態(tài)碼”
3.2HTTP請(qǐng)求的構(gòu)造
3.2.1直接構(gòu)造
3.2.2html中的特殊標(biāo)簽
3.2.3通過form表單構(gòu)造http請(qǐng)求
3.2.4通過ajax構(gòu)造
3.2.5通過postman構(gòu)造
4.HTTPS
4.1HTTPS是什么
4.2HTTPS的工作過程
4.2.1使用對(duì)稱密鑰
4.2.2引入非對(duì)稱加密
4.2.3引入證書
4.2.4完整流程
4.2.5總結(jié)
4.2.6HTTPSvsHTTP
結(jié)束語:
前言:
在之前的博客中小編給大家簡單的介紹了一下有關(guān)于HTTP協(xié)議的東西,他是屬于應(yīng)用層的一個(gè)廣泛使用的協(xié)議,再應(yīng)用層中主要關(guān)注的是數(shù)據(jù)怎么使用。應(yīng)用層協(xié)議是經(jīng)常需要“自定義”的但是很多時(shí)候也不一定要從0開始設(shè)定,我們也可以基于大佬們?cè)O(shè)計(jì)好的協(xié)議,在這個(gè)基礎(chǔ)上進(jìn)行設(shè)定。這個(gè)協(xié)議就是HTTP,HTTP的應(yīng)用非常廣泛,他之所以這么廣泛就是因?yàn)镠TTP的可制定性非常強(qiáng)。那么我們?cè)谑裁磿r(shí)候可以用到HTTP協(xié)議呢?只要我們?cè)谏暇W(wǎng)的時(shí)候就會(huì)使用到HTTP協(xié)議,比如瀏覽器打開一個(gè)網(wǎng)頁,手機(jī)APP從網(wǎng)絡(luò)上加載一份數(shù)據(jù),微信小程序,支付寶小程序,打開游戲...都是在使用HTTP協(xié)議。所以接下來就和小編一起來學(xué)習(xí)一下HTTP協(xié)議吧!
1.HTTP協(xié)議
1.1HTTP協(xié)議是什么
HTTP的全稱是“超文本傳輸協(xié)議”,是一種應(yīng)用非常廣泛的應(yīng)用層協(xié)議。他是一種“一問一答”這種形式的協(xié)議,一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)響應(yīng)。HTTP往往是基于傳輸層的TCP協(xié)議實(shí)現(xiàn)的,目前我們主要使用的是HTTP1.1。
1.2HTTP協(xié)議的報(bào)文格式
想要仍是報(bào)文格式,就需要借助一些外部工具來把http協(xié)議給顯示出來。這里就涉及到了“抓包工具”,抓包工具本質(zhì)上相當(dāng)于一個(gè)“代理”,借助這樣的代理就可以看到網(wǎng)絡(luò)上傳輸?shù)木唧w數(shù)據(jù)了。在網(wǎng)上有很多抓包工具其中Chrome就內(nèi)置了抓包工具,還有wireshark這里的功能更加復(fù)雜也更加全面,但是小編這里給大家介紹的是fiddler,它一般是只專注于http,所以使用起來比較簡單方便。大家可以自己去網(wǎng)上下載一個(gè),下面小編就直接進(jìn)入fiddler使用的演示了。
1.2.1抓包工具的使用
①fiddler主頁面的展示:
②在界面中左側(cè)是抓到包的列表,當(dāng)雙擊要關(guān)注的包的時(shí)候,右側(cè)就會(huì)顯示詳情,右上是請(qǐng)求,右下是響應(yīng)。?
我們按照下面的操作就可以直接打開了。這里點(diǎn)擊Raw就是最原始的http請(qǐng)求的數(shù)據(jù)。
上面就是一個(gè)完整的http請(qǐng)求,所謂的http請(qǐng)求其實(shí)就是通過代碼構(gòu)造出一個(gè)HTTP格式要求的字符串,在往TCP的socket中寫就可以了。
1.2.2HTTP請(qǐng)求
一個(gè)http請(qǐng)求數(shù)據(jù),包含了4個(gè)部分。
注意在空行后面可能還會(huì)有正文,但是有的時(shí)候可以沒有正文。
1.2.3HTTP響應(yīng)
有的同學(xué)的響應(yīng)可能是下面的這種二進(jìn)制的,不影響我們只要點(diǎn)擊上面的那一串就可以將其轉(zhuǎn)換成文本格式的了。
你會(huì)發(fā)現(xiàn)這里的正文就是html代碼,HTTP響應(yīng)就是要顯示的html的本體,瀏覽器拿到這個(gè)http響應(yīng)也就拿到了里面的html就可以顯示了。
這里我們借助了抓包工具fiddler,就看到了HTTP協(xié)議的請(qǐng)求和響應(yīng)的詳細(xì)內(nèi)容了,具體細(xì)節(jié)如下所示:
下面我們就一一來看一下HTTP里面的具體內(nèi)容吧。
2.HTTP請(qǐng)求
2.1首行的組成
如上面抓包的那個(gè)首行所示:
其中HTTP方法描述了這個(gè)方法想要干什么,HTTP方法有很多種,不同的方法,表示的“語義”不同。下面會(huì)給大家一一介紹的。
URL是唯一資源定位符,它描述了網(wǎng)絡(luò)上的唯一的一個(gè)資源。
版本號(hào)就是我們現(xiàn)在使用的HTPP的版本。
2.2.1URL的組成
針對(duì)URL來說大概是由一下這幾個(gè)部分組成。
比如現(xiàn)在有一家餐廳,如果你要點(diǎn)外賣的話就會(huì)有以下的信息。
大家可以對(duì)應(yīng)上述的情況來理解一下。?
2.2認(rèn)識(shí)“方法”(method)
在HTTP中有以下幾種方法。
方法 | 說明 |
GET | 獲取資源 |
POST | 傳輸實(shí)體主體 |
PUT | 傳輸文件 |
HEAD | 獲得報(bào)文首部 |
DELETE | 刪除文件 |
OPTIONS | 詢問支持的方法 |
TRACE | 追蹤路徑 |
CONNECT | 要求用隧道協(xié)議連接代理 |
LINK | 建立和資源之間的聯(lián)系 |
UNLINE | 斷開連接關(guān)系 |
上述的這么多種方法我們最常見到的就是get和post請(qǐng)求,所以接下來我們來詳細(xì)的看一下這兩個(gè)方法。
2.2.1GET方法
GET的語義是“從服務(wù)器這里拿取數(shù)據(jù)”。我們一般看到的請(qǐng)求都是GET請(qǐng)求。
如上述我們?cè)谒阉鳌八压贰钡臅r(shí)候,我們使用fiddler抓包抓到的也是GET請(qǐng)求。
GET請(qǐng)求的特點(diǎn):
- 首行的第一個(gè)部分為GET。
- URL的query?string可以為空,也可以不為空。
- header部分有若干個(gè)鍵值對(duì)結(jié)構(gòu)。
- body部分為空。
2.2.2POST方法
POST方法的語義是“往服務(wù)器里提交東西”,這個(gè)一般是在登錄的時(shí)候或者是在上傳文件的時(shí)候會(huì)出現(xiàn)POST請(qǐng)求,比如我們現(xiàn)在登錄一下一個(gè)網(wǎng)站,然后使用fiddler進(jìn)行抓包。
并且在POST請(qǐng)求中body一般不為空。
2.2.3GET和POST請(qǐng)求的區(qū)別
首先GET和POST是沒沒有本質(zhì)區(qū)別的,使用GET場景換成POST一般也是可以的,但是在使用習(xí)慣上存在區(qū)別:
- 數(shù)據(jù)的傳輸方式:GET請(qǐng)求的數(shù)據(jù)是通過URL傳遞的,即將數(shù)據(jù)拼接到URL的后面,以?分隔,參數(shù)之間以&符號(hào)分隔。因此GET傳輸?shù)臄?shù)據(jù)受限制的,通常在幾千個(gè)字符之內(nèi)。而POST請(qǐng)求則是將數(shù)據(jù)放在HTTP請(qǐng)求的請(qǐng)求體中進(jìn)行傳輸,沒有大小的限制,可以傳輸較大的數(shù)據(jù)量。
- 數(shù)據(jù)傳輸安全性:GET請(qǐng)求傳輸?shù)臄?shù)據(jù)是明文的,因此數(shù)據(jù)容易被攔截和篡改。而POST請(qǐng)求傳輸?shù)臄?shù)據(jù)放在請(qǐng)求體中,所以相對(duì)安全一些。
- 緩存:GET請(qǐng)求是可以被緩存的,當(dāng)瀏覽器再次請(qǐng)求同一個(gè)URL時(shí),可以從緩存中直接獲取數(shù)據(jù),加快訪問速度。而POST請(qǐng)求是不可以緩存的,因?yàn)槊看翁峤粩?shù)據(jù)都可能導(dǎo)致服務(wù)器狀態(tài)的改變。
- 安全性:GET請(qǐng)求的數(shù)據(jù)會(huì)被瀏覽器保存在歷史記錄和服務(wù)器日志中,容易被惡意程序利用。而POST不會(huì)被保存在歷史記錄和服務(wù)器日志中,相對(duì)更加安全。
2.3認(rèn)識(shí)請(qǐng)求“報(bào)頭”(header)
頭部是以鍵值對(duì)的結(jié)構(gòu)組織的,每一個(gè)鍵值對(duì)占一行,鍵和值之間使用冒號(hào)分隔,這里的鍵值對(duì)可有N行,最后會(huì)用空行作為結(jié)束標(biāo)記的。
如下所示:
header中的鍵值對(duì)大多都是HTTP協(xié)議規(guī)定的,當(dāng)然這里也可以添加自定義的鍵值對(duì)。
-
Host:其中第一個(gè)屬性
?描述了瀏覽器這個(gè)請(qǐng)求要訪問的服務(wù)器是誰,這里也可以寫端口號(hào)。大多數(shù)情況下host和url是一致的,但是如果當(dāng)前的服務(wù)器不是直接訪問的而是通過“代理”訪問的此時(shí)url和host可能就會(huì)不一樣了。
-
Content-Length:描述了body的長度。如下所示:
- Content-Type:描述了body數(shù)據(jù)格式。如下所示:
在上述中我們可以看到他是以json的形式來組織的,json使用{}表示的,這里面包含了若干個(gè)鍵值對(duì),鍵值對(duì)之間使用,分隔,鍵和值之間使用:分隔。如下所示:
在content-type中還有一些其他的寫法比如:text/html,text/css,application/javascript,image/jpg,image/png......
- User-Agent:簡稱UA,它表示瀏覽器/操作系統(tǒng)的屬性。如下所示:
這里面就描述了他是Windows?NT 10.0的操作系統(tǒng),64位,并且后面還描述了瀏覽器的版本。?
- Referer:描述了當(dāng)前這個(gè)頁面,從哪個(gè)頁面跳轉(zhuǎn)來的。
- Cookie:它是瀏覽器本地存儲(chǔ)數(shù)據(jù)的一種機(jī)制,Cookie中存儲(chǔ)了一個(gè)字符串,這個(gè)數(shù)據(jù)可能是客戶端自行通過JS寫入的,也可能來自于服務(wù)器。它的本質(zhì)是瀏覽器在本地存儲(chǔ)用戶自定義數(shù)據(jù)的一種關(guān)鍵機(jī)制。他也是通過鍵值對(duì)的形式組織的,鍵值對(duì)之間使用;分隔,鍵和值之間使用=分隔。
如上所示就是我們?cè)谑褂胒iddler來進(jìn)行抓到的Cookie。他存儲(chǔ)的是字符串,一般是存儲(chǔ)用戶的身份信息,由于客戶端有很多,每個(gè)客戶端提供的服務(wù)可能不一樣,因此服務(wù)器就可以通過Cookie來進(jìn)行區(qū)分,比如客戶端在登錄時(shí)候,服務(wù)器就識(shí)別好客戶端的角色,把角色信息返回給瀏覽器,然后保存在Cookie中,后續(xù)客戶端在訪問的時(shí)候,就會(huì)帶著這個(gè)Cookie,然后服務(wù)器就直接返回?cái)?shù)據(jù)給客戶端。
2.4認(rèn)識(shí)請(qǐng)求正文(body)
我們來使用fiddler進(jìn)行抓包就可以看到正文了。
3.HTTP響應(yīng)
3.1認(rèn)識(shí)“狀態(tài)碼”
狀態(tài)碼表示訪問一個(gè)頁面的結(jié)果(是成功還是失敗,還是其他的一些情況....)在http中提供的狀態(tài)碼是非常復(fù)雜繁多的,我們看一下下面的這些狀態(tài)碼。
上面這些雖然有很多,但是會(huì)發(fā)現(xiàn)大概被分成了以下幾大類:
類別 | 原因短語 | |
1XX | Informational(信息性狀態(tài)碼) | 接收的請(qǐng)求正在處理 |
2XX | Success(成功狀態(tài)碼) | 請(qǐng)求正常處理完畢 |
3XX | Redirection(重定向狀態(tài)碼)? | 需要進(jìn)行附加操作以完成請(qǐng)求 |
4XX | Client?Error(客戶端錯(cuò)誤狀態(tài)碼) | 服務(wù)器無法處理請(qǐng)求 |
5XX | Server?Error(服務(wù)器錯(cuò)誤狀態(tài)碼) | 服務(wù)器處理請(qǐng)求出錯(cuò) |
而這五大類中又包含了很多具體的狀態(tài)碼。具體的我們來看一下以下的這幾個(gè)。
- 200:表示的是請(qǐng)求成功。
- 301:Moved?Permanently,表示永久重定向,以后打開都重定向。
- 302:Move?temporarily,臨時(shí)重定向,但是下次會(huì)不會(huì)要進(jìn)行重定向這個(gè)是不確定的。
- 403:Forbidden,訪問被拒絕。
- 404:Not?Found,表示要訪問的資源不存在。
- 418:彩蛋。
- 500:Internal?Server?Error,服務(wù)器內(nèi)部錯(cuò)誤。
- 504:Gatway?Timeout,表示服務(wù)器訪問超時(shí)了。瀏覽器給服務(wù)器請(qǐng)求,服務(wù)器要返回響應(yīng),結(jié)果服務(wù)器遲遲沒有響應(yīng)。
3.2HTTP請(qǐng)求的構(gòu)造
3.2.1直接構(gòu)造
我們可以直接在瀏覽器的地址欄中國輸入一個(gè)url來構(gòu)造出一個(gè)GET請(qǐng)求。
3.2.2html中的特殊標(biāo)簽
在html中一些特殊標(biāo)簽也會(huì)觸發(fā)GET請(qǐng)求。比如:link、script、img、a。
3.2.3通過form表單構(gòu)造http請(qǐng)求
form表單構(gòu)造出來的GET請(qǐng)求,這里我們借助抓包工具來給大家展示,如下圖所示:
form表單構(gòu)造出來的POST請(qǐng)求,這里我們借助抓包工具來給大家展示,如下圖所示:
注意:form只支持get和post。
3.2.4通過ajax構(gòu)造
在js中提供了原生的ajax的api,但是這里我們使用的是jQuery中提供的ajax的api。下面我們來給大家來實(shí)現(xiàn)一下吧。
①打開jQuery的官網(wǎng)?https://releases.jquery.com/
②復(fù)制下面的路徑到代碼中。注意這里可以先自己進(jìn)行訪問一下,確保這個(gè)地址可以進(jìn)行訪問。
?如果上述的地址打開的頁面是下面的這種情況就說明可以正確訪問到。
引入到代碼中。
③明確$符號(hào)的含義。
$:在jQuery中是一個(gè)特殊的全局變量。jQuery中的各種的api都是$的方法。你也可以直接使用jQuery和$是一樣的。
上述的body是響應(yīng)的正文,function是一個(gè)回調(diào)函數(shù),會(huì)在服務(wù)器中返回一個(gè)正確的響應(yīng)的時(shí)候,
會(huì)被瀏覽器自動(dòng)執(zhí)行,這個(gè)執(zhí)行過程就是“異步”,在我們頁面的js中把請(qǐng)求發(fā)送出去之后就不用管了,就會(huì)繼續(xù)執(zhí)行后續(xù)的代碼,直到響應(yīng)回來之后傳給代碼。
相比于form來說ajax的功能比form更加豐富,更加靈活。
下面我們來運(yùn)行一下代碼。
代碼展示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ajax示例</title>
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
</head>
<body>
<script>
$.ajax({
url:"https://www.soguo.com",
type:"get",//這里可以寫GET,POST...大寫或者是小寫都可以
data:"這個(gè)是body",
contentType:"text/plain",
success:function(body){
//這里寫處理響應(yīng)的代碼
console.log(body);
}
});
</script>
</body>
</html>
結(jié)果展示:
我們可以看到在這個(gè)運(yùn)行結(jié)果中前端的控制臺(tái)中出現(xiàn)了紅色的子,注意這并不是bug,而是Ajax中的一個(gè)典型的跨域問題,現(xiàn)在運(yùn)行的Ajax代碼的頁面域名是abc.com但是在Ajax的請(qǐng)求中訪問的域名是def.com,這兩域名不一致的話哪怕服務(wù)器給你響應(yīng)了數(shù)據(jù),瀏覽器還是不能處理,還是要報(bào)錯(cuò)。在后面只要咱們自己寫了服務(wù)器,自己的頁面來請(qǐng)求自己的服務(wù)器,自然這里就不會(huì)存在這個(gè)跨域問題了。
3.2.5通過postman構(gòu)造
上述的這些都是需要進(jìn)行代碼來進(jìn)行構(gòu)造的,是否有辦法可以不寫代碼來構(gòu)造請(qǐng)求呢?有一些現(xiàn)成的工具,可以直接構(gòu)造出HTTP請(qǐng)求,例如postman。網(wǎng)址?https://www.postman.com/
①進(jìn)入到官網(wǎng)之后,我們切換到workspace。
②?進(jìn)行注冊(cè)使用,并打開界面。
③創(chuàng)建一個(gè)標(biāo)簽頁,點(diǎn)擊+號(hào)即可創(chuàng)建。
④構(gòu)造一個(gè)請(qǐng)求。
?在側(cè)邊欄中也可以構(gòu)造其他請(qǐng)求。
這樣就可以構(gòu)建好請(qǐng)求了。
4.HTTPS
4.1HTTPS是什么
HTTPS(Hyper?Text?Transfer?Protocol?Secure,安全的超文本傳輸協(xié)議)是一種基于SSL/TSL協(xié)議的HTTPS協(xié)議,他是HTTP協(xié)議的安全版本。HTTPS協(xié)議通過加密通信內(nèi)容和身份驗(yàn)證來保證數(shù)據(jù)傳輸?shù)陌踩屯暾?,從而可以有效的防止?shù)據(jù)在傳輸?shù)倪^程中被竊取或篡改。
你可以理解為HTTPS=HTTP +?加密 +?認(rèn)證 +?完整性保護(hù)。
那么什么是加密,什么又是解密呢?
- 加密就是把明文進(jìn)行一系列的變換生成密文。
- 解密就是把密文再進(jìn)行一系列的變換,還原成明文。
- 加密就是針對(duì)HTTP的各種header和body。
在加密中主要是有兩種模式,一種是使用堆堆對(duì)稱密鑰,另一種是使用非對(duì)稱密鑰進(jìn)行加密。下面我們來分別看下兩種加密模式。
4.2HTTPS的工作過程
4.2.1使用對(duì)稱密鑰
原理:對(duì)稱加密其實(shí)就是通過同一個(gè)“密鑰”,把明文加密成密文,并且也能把密文解密成明文。
那么這個(gè)密鑰是怎么保證客戶端和服務(wù)端兩者之間是一致的呢?
在客戶端傳輸數(shù)據(jù)的時(shí)候是需要加密的,此時(shí)客戶端就會(huì)自己生成一個(gè)密鑰,那么在通過網(wǎng)絡(luò)然后傳輸給服務(wù)端。既如此那么也就說明黑客也是可以拿到這里的key的。所以這里就會(huì)存在一些安全問題,如下圖所示:
4.2.2引入非對(duì)稱加密
那么針對(duì)上述的不安全情況下,我們就引入了另一種機(jī)制,非對(duì)稱加密的機(jī)制??蛻舳讼M炎约旱膋ey安全的傳給服務(wù)器不被黑客拿到,那么此時(shí)我們就可以使用非對(duì)稱密鑰來進(jìn)行加密操作。
由于這里黑客拿不到pri私鑰,無法對(duì)密文進(jìn)行解密,所以黑客就無法對(duì)密文的數(shù)據(jù)進(jìn)行解析和篡改了。這樣使用非對(duì)稱密鑰就達(dá)到了一個(gè)安全的保證機(jī)制。
4.2.3引入證書
當(dāng)然安全是相對(duì)的,黑客也不是吃素的,黑客會(huì)通過偷襲的方式來進(jìn)行篡改數(shù)據(jù)。如下所示。
以上就會(huì)將非對(duì)稱密鑰變得不安全了。那么它攻擊的原理就是要讓客戶端能夠信任公鑰。那么該怎么讓客戶端相信這里的公鑰呢?這里我們就需要引入一個(gè)證書的概念。我們繼續(xù)往下來看。
4.2.4完整流程
這里向大家解釋兩個(gè)概念:
證書:它像是一個(gè)結(jié)構(gòu)化的字符串,里面包含了以下信息(證書的發(fā)放機(jī)構(gòu)、證書有效期、公鑰、證書所有者、簽名....)
校驗(yàn):當(dāng)客戶端獲取到這個(gè)證書之后就會(huì)對(duì)該證書進(jìn)行一個(gè)校驗(yàn),辨別一下真?zhèn)?。具體操作如下所示。
- 得到初始的簽名:客戶端使用系統(tǒng)中內(nèi)置的權(quán)威機(jī)構(gòu)的公鑰pub2,針對(duì)上述證書中的加密簽名進(jìn)行解密,得到一個(gè)初始簽名(這個(gè)簽名是權(quán)威機(jī)構(gòu)計(jì)算出來的,假設(shè)為sum1)。
- 計(jì)算現(xiàn)在的簽名:客戶端使用同樣的簽名計(jì)算算法,基于證書中的屬性重新計(jì)算,得到sum2.
- 比較兩個(gè)簽名是否相同:如果相同就說明證書中的數(shù)據(jù)都是未被修改過的,如果簽名不同就說明證書中的數(shù)據(jù)是被修改過的,客戶端就會(huì)有瀏覽器彈窗提醒。
4.2.5總結(jié)
HTTPS工作過程涉及到的密鑰有三組。
- 第一組(非對(duì)稱加密):用于校驗(yàn)證書是否被篡改,服務(wù)器持有私鑰(私鑰在注冊(cè)證書時(shí)或得),客戶端持有公鑰(操作系統(tǒng)包含了可信任的CA認(rèn)證機(jī)構(gòu)有哪些,同時(shí)持有對(duì)應(yīng)的公鑰),服務(wù)器使用這個(gè)私鑰對(duì)證書的簽名進(jìn)行加密,客戶端通過這個(gè)公鑰解密獲取到證書的簽名,從而校驗(yàn)證書是否被修改過。
- 第二組(非對(duì)稱加密):用于協(xié)商生成對(duì)稱加密的密鑰,服務(wù)器生成這組私鑰-公鑰對(duì),然后通過證書把公鑰傳遞給客戶端,然后客戶端用這個(gè)公鑰給生成的對(duì)稱加密的密鑰加密,傳出給服務(wù)器,服務(wù)器通過私鑰解密獲取到對(duì)稱加密密鑰。
- 第三組(對(duì)稱加密):客戶端和服務(wù)器后續(xù)傳輸?shù)臄?shù)據(jù)都通過這個(gè)對(duì)稱密鑰加密解密。
4.2.6HTTPSvsHTTP
HTTPS協(xié)議與HTTP協(xié)議的區(qū)別在于HTTPS協(xié)議再數(shù)據(jù)傳輸?shù)倪^程中使用了SSL/TLS協(xié)議進(jìn)行加密和身份驗(yàn)證,另外關(guān)于它們兩個(gè)的默認(rèn)端口號(hào)也是不同的,HTTP的默認(rèn)端口號(hào)是80,而HTTPS默認(rèn)端口號(hào)是443。
結(jié)束語:
這節(jié)中小編主要是給大家分享了有關(guān)于HTTP和HTTPS協(xié)議的一些具體內(nèi)容,希望這節(jié)對(duì)大家了解HTTP協(xié)議有一定幫助,想要學(xué)習(xí)的同學(xué)記得關(guān)注小編和小編一起學(xué)習(xí)吧!如果文章中有任何錯(cuò)誤也歡迎各位大佬及時(shí)為小編指點(diǎn)迷津(在此小編先謝過各位大佬啦!)文章來源:http://www.zghlxwxcb.cn/news/detail-681267.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-681267.html
到了這里,關(guān)于HTTP協(xié)議(JavaEE初階系列15)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!