1.什么是TCP轻姿,什么UDP乳乌,它們兩者的區(qū)別?
TCP:Transmission Control Protocal 傳輸控制協(xié)議
是一種面向連接的绩聘,可靠的沥割,基于字節(jié)流的傳輸層通信協(xié)議
UDP:User Datagram Protocal 用戶數(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)稱安全的超文本傳輸協(xié)議送朱。簡(jiǎn)單講就是HTTP的安全版娘荡,即HTTP下加入SSL層干旁,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL炮沐。
HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道争群,來(lái)保證數(shù)據(jù)傳輸?shù)陌踩涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性大年。
HTTP和HTTPS的相同點(diǎn)
- 大多數(shù)情況下换薄,HTTP和HTTPS是相同的,因?yàn)槎际遣捎靡粋€(gè)基礎(chǔ)的協(xié)議翔试,作為HTTP或HTTPS客戶端--瀏覽器轻要,設(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í)際情況而論,目前瀏覽器種類比較多景描,不同的瀏覽器大小 限制不同十办。
而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ú)法被瀏覽器保存