1.什么是TCP,什么UDP,它們兩者的區(qū)別?
TCP:Transmission Control Protocal 傳輸控制協(xié)議
是一種面向連接的,可靠的,基于字節(jié)流的傳輸層通信協(xié)議
UDP:User Datagram Protocal 用戶(hù)數(shù)據(jù)協(xié)議
是OSI/RM 模型中隸屬于傳輸層的面向無(wú)連接的網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議。
區(qū)別:
(1).TCP提供可靠的服務(wù),通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò),不丟失,不重復(fù),按序到達(dá);UDP盡最大努力交付,即不保證可靠交付。
(2)TCP連接只能是點(diǎn)到點(diǎn)的;
UDP支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多的交互通信。
(3)TCP的邏輯通信通道是全雙工的可靠信道;
UDP的邏輯通信信道是不可靠信道。

2.簡(jiǎn)單的描述一下TCP的三次握手和四次揮手的過(guò)程
- 三次握手建立連接
A->B:發(fā)送一個(gè)尋址請(qǐng)求碼seq=100;B->A:返回一個(gè)應(yīng)答 ack=101;
A->B:發(fā)送一個(gè)確認(rèn)請(qǐng)求碼seq=101,確認(rèn)連接;B->A:返回一個(gè)應(yīng)答,ack=300;
A->B:發(fā)送一個(gè)連接確認(rèn)碼ack=300;B->A:返回應(yīng)答ack=80;
A和B之間開(kāi)始進(jìn)行數(shù)據(jù)交互; - 四次揮手?jǐn)嚅_(kāi)
A->B:發(fā)送一個(gè)數(shù)據(jù)驗(yàn)證請(qǐng)求碼seq=100;B->A:返回一個(gè)應(yīng)答ack=101;
A->B:發(fā)送一個(gè)傳輸結(jié)束標(biāo)記:seq=101;B->A:返回一個(gè)應(yīng)答 ack=200;
A->B:發(fā)送一個(gè)確認(rèn)結(jié)束標(biāo)記:seq=200;B->A:返回一個(gè)應(yīng)答 ack=300;
A->B:發(fā)送連接斷開(kāi)標(biāo)記:seq=300;B->A:返回?cái)嚅_(kāi)連接應(yīng)答:ack=400;
正是有了三次握手和四次揮手對(duì)于連接可靠性的保障,才讓TCP協(xié)議端對(duì)端的數(shù)據(jù)交互變得可行,但是同樣由于該協(xié)議的過(guò)于可靠,被有心人利用經(jīng)常實(shí)施DDOS拒絕服務(wù)攻擊。
3.簡(jiǎn)述HTTP和HTTPS協(xié)議的不同之處
HTTP:HyperText Transfer Protocal 超文本傳輸協(xié)議
HTTPS:HyperText Transfer Protocal over Secure Socket Layer 安全HTTP協(xié)議通道,簡(jiǎn)稱(chēng)安全的超文本傳輸協(xié)議。簡(jiǎn)單講就是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。
HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來(lái)保證數(shù)據(jù)傳輸?shù)陌踩?;另一種就是確認(rèn)網(wǎng)站的真實(shí)性。
HTTP和HTTPS的相同點(diǎn)
- 大多數(shù)情況下,HTTP和HTTPS是相同的,因?yàn)槎际遣捎靡粋€(gè)基礎(chǔ)的協(xié)議,作為HTTP或HTTPS客戶(hù)端--瀏覽器,設(shè)立一個(gè)連接到web服務(wù)器指定的端口。當(dāng)服務(wù)器接收到請(qǐng)求,它會(huì)返回一個(gè)狀態(tài)碼以及消息,這個(gè)回應(yīng)可能是請(qǐng)求信息、或者只是某個(gè)錯(cuò)誤發(fā)送的錯(cuò)誤信息。系統(tǒng)使用統(tǒng)一組員管理器URI模式,因此資源可以被唯一指定。而HTTPS和HTTP唯一不同的只是一個(gè)協(xié)議(https)的說(shuō)明,其他都是一樣的。
HTTP與HTTPS有什么區(qū)別?
- (1)HTTP的URL以http://開(kāi)頭,而HTTPS的URL以https://開(kāi)頭
(2)HTTP是不安全的;而HTTPS是安全的
(3)HTTP標(biāo)準(zhǔn)端口是80,而HTTPS的標(biāo)準(zhǔn)端口是443
(4)在OSI網(wǎng)絡(luò)模型中,HTTP工作于應(yīng)用層,而HTTPS工作在傳輸層
(5)HTTP無(wú)需加密,而HTTPS對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密
(6)HTTP無(wú)需證書(shū),而HTTPS需要認(rèn)證證書(shū)。
擴(kuò)展:什么時(shí)候該使用HTTPS?
- 銀行網(wǎng)站,支付網(wǎng)關(guān)、購(gòu)物網(wǎng)站、登錄頁(yè)、電子郵箱一級(jí)一些企業(yè)部門(mén)的網(wǎng)站應(yīng)該使用HTTPS。
4.http有八種請(qǐng)求方式
get:向服務(wù)器請(qǐng)求指定的資源
post:向服務(wù)器提交數(shù)據(jù)請(qǐng)求處理,數(shù)據(jù)被包含在請(qǐng)求體中
put:向服務(wù)器上傳指定的數(shù)據(jù)
delete:向服務(wù)器發(fā)送請(qǐng)求刪除指定數(shù)據(jù)
option:返回服務(wù)器對(duì)指定資源數(shù)據(jù)支持的HTTP請(qǐng)求方法,一般用于測(cè)試服務(wù)器功能的可用性
head:返回服務(wù)器上對(duì)指定資源數(shù)據(jù)的HTTP請(qǐng)求頭,在不需要返回全部數(shù)據(jù)的情況
track:回顯服務(wù)器收到的請(qǐng)求,主要進(jìn)行功能測(cè)試判斷
connect:HTTP1.1協(xié)議中預(yù)留請(qǐng)求方式,可以將連接 改為管道方式的代理服務(wù)器
get和post的區(qū)別
(1)提交參數(shù)的位置不同:
get提交的數(shù)據(jù)會(huì)放在URL之后,以分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如:htt://www.baidu.com/test?name=test&id=1234
post方法是把提交的數(shù)據(jù)放在HTTP包的Body中。
(2)提交參數(shù)的大小不同:
get提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制),這點(diǎn)要根據(jù)實(shí)際情況而論,目前瀏覽器種類(lèi)比較多,不同的瀏覽器大小 限制不同。
而post方法提交的數(shù)據(jù)理論上沒(méi)有限制,但是建議不要太大
(3)安全問(wèn)題上:
get方法提交數(shù)據(jù),會(huì)帶來(lái)安全問(wèn)題,因?yàn)閰?shù)是裸露在地址欄上,所以較不安全。
而post方式參數(shù)在body中,所以安全性較高(注意:只是較高,不是很安全,在 http協(xié)議下,不管哪種提交方式,都是明碼提交,只要有抓包工具,都能抓取數(shù)據(jù)的)
(4)是否瀏覽器可以收藏
get請(qǐng)求因?yàn)閰?shù)在地址欄上,因此可以收藏(因?yàn)閰?shù)可以保存)
而post請(qǐng)求不行,不能被瀏覽器收藏,因?yàn)閰?shù)無(wú)法被瀏覽器保存