1. 說一下http和https
答:http是超文本傳輸協議,用于客戶端與服務器之間傳遞傳輸文本,https協議可以說為http的加密版本,在應用層http協議和傳輸層之間新增加了ssl層,用于文本的加密以及客戶端和服務端的身份驗證,相對比與http協議更加安全,在網頁中多用于賬號密碼登錄和保密性質較高的網頁,
主要區別:就是除了以講訴的不同之外,https需要有ca證書用于身份驗證以及加密密鑰的生成,而且使用埠也不相同,http使用80埠,而https協議使用443埠
2. https協議的作業原理
web服務器接收到客戶端發送的請求之后,會將網站的證書(證書包含了公鑰),回傳給客戶端;客戶端和web服務器協商SSL連接的安全等級,也就是加密等級,客戶端通過雙方協商一致的加密等級,建立會話密鑰,然后用客戶端傳遞過來的公鑰機密會話密鑰然后進行傳輸,web服務器用自己的私鑰解密會話密鑰,Web服務器會通過會話加密與客戶之間的通信,
3.TCP三次握手
首先客戶端發起會話請求,SYN=1,ACK=0,seq=J;
服務端收到請求后,確認建立會話,將SYN=1,ACK=1,ack=J+1,seq=K并將自己所能接受的最大位元組傳送給客戶端;
客戶端收到后,檢查ACK標志位是否為1,以及ack是否正確,正確后設定自己的最大傳輸位元組,然后向服務端發送資料確認,此時ACK=1,ack=K+1,服務端收到后檢驗seq以及ack的值,正確則成功建立會話,后面繼續通信,

4. TCP的四次揮手
第一次:客戶端發送連接釋報文,報文中FIN=1,seq=u,并且停止發送資料此時客戶端進入終止等待1階段,
第二次:服務器收到連接釋放報文,發出確認報文,ACK=1,ack=u+1,seq=v,此時服務器進入關閉等待階段,客戶端收到服務器的確認請求后,進入終止等待2階段,等待服務器發送連接釋放報文,
第三次:服務器將最后的資料發送完畢后,向客戶端發連接送釋放報文,此時服務器進入最后確認狀態,等待客戶端確認,
第四次:客戶端收到服務器連接釋放報文后,發出確認,此時客戶端進入了時間等待階段,等待2MSL時間后關閉,服務器只要收到客戶端發生的確認后就關閉,

4.1如果已經建立了連接,但是客戶端突然出現故障了怎么辦?
TCP還設有一個保活計時器,顯然,客戶端如果出現故障,服務器不能一直等下去,白白浪費資源,服務器每收到一次客戶端的請求后都會重新復位這個計時器,時間通常是設定為2小時,若兩小時還沒有收到客戶端的任何資料,服務器就會發送一個探測報文段,以后每隔75秒鐘發送一次,若一連發送10個探測報文仍然沒反應,服務器就認為客戶端出了故障,接著就關閉連接,
5. TCP與UDP的區別
TCP是面向連接的,而UDP是無連接的,即發送資料前不建立連接
TCP提供可靠的服務,通過TCP傳輸的資料無差錯,不丟失,不重復;UDP盡最大努力交付,不保證可靠交付,可能出現丟包,
TCP是面向位元組流,分組發送;UDP面向報文,并且網路擁塞不會使得發送速率降低
TCP只能是1對1的,UDP支持一對多
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2131.html
標籤:其他
上一篇:鏈表--從頭到尾列印鏈表
下一篇:html/http/瀏覽器(二)
