Java面試知識點之計算機網絡篇(一)


前言:在Java面試中,計算機網絡的知識也是一項重點,因此筆者在此對計算機網絡的相關知識進行總結。


1.OSI參考模型

自下而上:物理層(物理介質,比特流)、數據鏈路層(網卡、交換機)、網絡層(IP協議)、傳輸層(TCP/UDP協議)、會話層(創建/建立/斷開連接)、表示層(翻譯,編碼,壓縮,加密)、應用層(HTTP協議)。

簡化為TCP/IP模型:網絡層(物理層、數據鏈路層、網絡層)、傳輸層,會話層,應用層(表示層,應用層)。

參考:

https://www.cnblogs.com/evablogs/p/6709707.html

2.傳輸層作用

作用:傳輸層為它上面的應用層提供通信服務。

在OSI七層參考模型中,傳輸層是面向通信的最高層,也是用戶功能的最底層。

傳輸層兩大重要的功能:復用和分用。 

1)復用:在發送端,多個應用進程公用一個傳輸層。

2)分用:在接收端,傳輸層會根據端口號將數據分派給不同的應用進程。

和網絡層的區別: 

1)網絡層為不同主機提供通信服務,而傳輸層為不同主機的不同應用提供通信服務。

2)網絡層只對報文頭部進行差錯檢測,而傳輸層對整個報文進行差錯檢測。

參考:

https://blog.csdn.net/u010425776/article/details/55006347

注:該博文中給出了較為詳細的傳輸層知識點。

3.“三次握手”與“四次揮手”

在tcp建立連接時,需要進行“三次握手”。關於“三次握手”的通俗理解:“你有空嗎”,“我有空”,“OK,我來了”。

在tcp斷開連接時,需要進行“四次揮手”。關於“四次揮手”的通俗理解:“我要走了”,“沒問題”,“不忙,他也要走”,“好,那我和他一起走”。

參考:

https://www.cnblogs.com/SeaSky0606/p/4741982.html

https://blog.csdn.net/u010425776/article/details/55006347

4.TCP的長連接和短連接

長連接:指在一個TCP連接上可以連續發送多個數據包,在TCP連接保持期間,如果沒有數據包發送,需要雙方發檢測包以維持此連接。

在數據庫連接池中,一般使用的是長連接,這樣比較節約資源。

短連接:短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發送完成后,則斷開此TCP連接。

參考:

https://www.cnblogs.com/onlysun/p/4520553.html

5.HTTP工作原理

要點:

1)HTTP是一個無狀態協議,為應用層協議,基於TCP/IP之上。

2)HTTP的一個工作過程分為:地址解析、封裝HTTP請求數據包、通過TCP建立連接、客戶端發送請求指令、服務器響應、服務器關閉連接。

參考:

https://blog.csdn.net/hguisu/article/details/8680808

6.HTTP中請求、響應、緩存

要點:

1)請求由請求行、請求頭和請求正文組成。

2)響應由狀態行、消息報頭和響應正文組成。

3)緩存可以提高了訪問的流暢性。

參考:

https://blog.csdn.net/hguisu/article/details/8683290

7.HTTP1.0和HTTP1.1區別

要點:

HTTP1.0每對Request/Response都使用一個新的連接。

HTTP1.1則支持持久連接Persistent Connection, 並且默認使用Persistent  connection. 

參考:

https://blog.csdn.net/hguisu/article/details/8608888

8.HTTPS的通信過程

主要在加解密的過程。

參考:

http://www.liqwei.com/network/protocol/2012/906.shtml


by Shawn Chen,2018.4.6日,晚。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM