百家互聯網QA面試題庫--計算機網絡

1、Http和Https的區別
  • Https需要到CA申請證書,Http不需要
  • Https密文傳輸,Http明文傳輸
  • 鏈接方式不同,Https默認使用443端口,Http使用80端口
  • Https=Http+加密+認證+完全性保護,較http安全
2、TCP的三次握手過程?爲什麼會採用三次握手,若採用二次握手可以嗎?

建立連接的過程是利用客戶服務器模式,假設主機A爲客戶端,主機B爲服務器端。
(1)TCP的三次握手過程:主機A向B發送連接請求;主機B對收到的主機A的報文段進行確認;主機A再次對主機B的確認進行確認。
(2)採用三次握手是爲了防止失效的連接請求報文段突然又傳送到主機B,因而產生錯誤。失效的連接請求報文段是指:主機A發出的連接請求沒有收到主機B的確認,於是經過一段時間後,主機A又重新向主機B發送連接請求,且建立成功,順序完成數據傳輸。考慮這樣一種特殊情況,主機A第一次發送的連接請求並沒有丟失,而是因爲網絡節點導致延遲達到主機B,主機B以爲是主機A又發起的新連接,於是主機B同意連接,並向主機A發回確認,但是此時主機A根本不會理會,主機B就一直在等待主機A發送數據,導致主機B的資源浪費。
(3)採用兩次握手不行,原因就是上面說的失效的連接請求的特殊情況。

3、OSI、TCP/IP、五層協議的體系結構、以及各層協議作用

OSI分層 (7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
TCP/IP分層(4層):網絡接口層、 網際層、運輸層、 應用層。
五層協議 (5層):物理層、數據鏈路層、網絡層、運輸層、 應用層。
每一層的協議如下:
物理層:RJ45、CLOCK、IEEE802.3(中繼器、集線器)
數據鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)
網絡層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
傳輸層:TCP、UDP、SPX
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASII
應用層:FTP、DNS、HTTP、SMTP、WWW、NFS、Telent
每一層的作用如下:
物理層:通過媒介傳輸比特,確定機械及電氣規範(比特Bit)
數據鏈路層:將比特組裝成幀和點到點的傳遞(幀Frame)
網絡層:負責數據包從源到宿的傳遞和網際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
會話層:建立、管理和終止會話(會話協議數據單元SPDU)
表示層:對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
應用層:允許訪問OSI環境的手段(應用協議數據單元APDU)

4、TCP和UDP的區別?

1. TCP提供面向連接的、可靠的數據流傳輸,而UDP提供的是非面向連接的、不可靠的數據流傳輸。
2. TCP傳輸單位稱爲TCP報文段,UDP傳輸單位稱爲用戶數據報。
3. TCP注重數據安全性,UDP數據傳輸快,因爲不需要連接等待,少了許多操作,但是其安全性卻一般。

5、在瀏覽器中輸入www.baidu.com後執行的全部過程

1、客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務器的路徑。客戶端瀏覽器發起一個HTTP會話到220.161.27.48,然後通過TCP進行封裝數據包,輸入到網絡層。
2、在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口,如服務器使用80端口監聽客戶端的請求,客戶端由系統隨機選擇一個端口如5000,與服務器進行交換,服務器把相應的請求返回給客戶端的5000端口。然後使用IP層的IP地址查找目的端。
3、客戶端的網絡層不用關心應用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達服務器,期間可能經過多個路由器,這些都是由路由器來完成的工作,我不作過多的描述,無非就是通過查找路由表決定通過那個路徑到達服務器。
4、客戶端的鏈路層,包通過鏈路層發送到路由器,通過鄰居協議查找給定IP地址的MAC地址,然後發送ARP請求查找目的地址,如果得到迴應後就可以使用ARP的請求應答交換的IP數據包現在就可以傳輸了,然後發送IP數據包到達服務器的地址。

6、關於session和cookie

1.如果不設置過期時間,則表示這個cookie生命週期爲瀏覽器會話期間,只要關閉瀏覽器窗口,cookie就消失了。
2.session機制是一種服務器端的機制,服務器使用一種類似於散列表的結構(也可能就是使用散列表)來保存信息。但程序需要爲某個客戶端的請求創建一個session的時候,服務器首先檢查這個客戶端的請求裏是否包含了一個session標識-稱爲session id,如果已經包含一個session id則說明以前已經爲此客戶創建過session,服務器就按照session id把這個session檢索出來使用(如果檢索不到,可能會新建一個,這種情況可能出現在服務端已經刪除了該用戶對應的session對象,但用戶人爲地在請求的URL後面附加上一個JSESSION的參數)。
3.恰恰是由於關閉瀏覽器不會導致session被刪除,迫使服務器爲seesion設置了一個失效時間,當距離客戶端上一次使用session的時間超過這個失效時間時,服務器就可以認爲客戶端已經停止了活動,纔會把session刪除以節省存儲空間。

7、HTTP的狀態碼含義

①大致可分爲五大類
  100-199 信息,服務器收到請求,需要請求者繼續執行操作。指定客戶端應相應的某些動作。
  200-299 用於表示請求成功。
  300-399 重定向,需要進一步的操作以完成請求
  400-499 用於指出客戶端的錯誤。請求包含語法錯誤或無法完成請求
  500-599 用於支持服務器錯誤。服務器在處理請求的過程中發生了錯誤
  ②常見的狀態碼
  206 部分內容。服務器成功處理了部分GET請求
  301 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今後任何新的請求都應使用新的URI代替。
  302 臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI
  400 (錯誤請求) 服務器不理解請求的語法。
  404 (未找到) 服務器找不到請求的網頁。
  500 (服務器內部錯誤) 服務器遇到錯誤,無法完成請求。
  505 (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。

8、一臺計算機的IP是192.168.10.71子網掩碼255.255.255.64與192.168.10.201是同一局域網嗎?

是一個局域網。分別拿兩個iP和子網掩碼化成二進制做AND運算。結果一致就是同一個子網,否則則不是

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章