java面試題五:網路協議相關的問題

一,http與https區別: http基於c/s 架構模型,是一個無狀態請求響應協議客戶端包括:請求行,請求頭部,空行,請求資料

http是明文資料傳輸的網路協議,HTTPS 在HTTP的基礎上增加了資料加密,這是和http最大的區別

HTTPS 也是網站搜尋排名的重要指標

二,TCP與UDP區別 :

tcp面向連線,位元組流,保證資料正確性,保證順序;

udp面向無連線,基於資料報的,可能丟包,不保證順序在互通之前;

TCP協議是面向連線的,可靠的,有序地以位元組流的方式傳送資料,面向連線的會先建立連線,如tcp 三次握手,而udp 不會

三,tcp 為什麼是可靠連線?

透過tcp建立的連線不重複,不丟失,無差錯,且順序可達tcp 報文頭裡的資料保證tcp資料按序可達報文頭裡的確認序號保證不丟包,累計確認及超時重傳機制

四,OSI七層網路模型

:(

開放式系統互聯通訊參考模型

(英語:Open System Interconnection Reference Model,縮寫為 OSI),簡稱為

OSI模型

(OSI model)

);

物理層,資料鏈路層,網路層,傳輸層,會話層,表示層,應用層

java面試題五:網路協議相關的問題

網路層:主機間的通訊

傳輸層:埠間的通訊(傳輸控制協議tcp,udp)

會話層:通訊連線建立

表示層:資料格式的轉換

應用層:針對特定應用的協議:(網路請求協議http,遠端登入協議ssh)

具體細節可參考:

https://www。jianshu。com/p/534a2b1a9296

五,http 與websocket 區別:

websocket 是雙向通訊寫,http 是單向websocket是長連線 ,http 是短連線websocket 服務端可以主動向客戶端傳送資訊,而http只有客戶端發起請求時才能向服務端傳送資料

具體細節可參考:

https://blog。csdn。net/qq_38859786/article/details/80523642we

六,TCP的三次握手和四次揮手:

TCP協議是7層網路協議中的傳輸層協議,負責資料的可靠傳輸。

在建立 TCP連線時,需要透過三次握手來建立,過程是:

1。 客戶端向服務端傳送一個SYN

2。服務端接收到SYN後,給客戶端傳送一個SYN_ACK

3。客戶端接收到SYN ACK後,再給服務端傳送一個ACK

在斷開TCP連按時,需要透過四次揮手來斷開,過程是:

1。 客戶端向服務端傳送FIN

2.服務端接收FIN後,向客戶端傳送ACK,表示我接收到了斷開連按的請決,客戶端你不用發資料了

3。 服務端處理完所有資料後,向客戶端傳送FIN, 表示級服務端現在可以斷開連線

4,客戶端收到服務端的FIN,向服務端傳送ACk,表示客戶端也會斷開連線

其他補充瞭解:

RPC:遠端過程呼叫:分佈在不同伺服器上的應用程式相互呼叫像本地呼叫一樣

單工:要麼只能傳送,要麼只能接收;雙工:傳送接收可同時進行;半雙工:傳送接收不能同時進行

TCP/ip :傳輸控制協議/網路協議:是指在不同網路間實現資訊傳輸的協議族,不僅僅是tcp ,ip協議,而是一個由FTP,SMTP,TCP,UDP,IP等協議構成的協議族