最近有時間學習下計算機網絡,從一本經典書籍《網絡是如何連接的》入門,提供每一章節後的題目供自己檢驗和思考。
1.在包收發操作中,服務器和客戶端的區別是什麼?
沒有區別
根據用途,服務器可以分爲很多種類,其硬件和操作系統與客戶端是有所不同的。但是,網絡相關的部分,如網卡、協議棧、Socket庫等功能和客戶端卻並無二致。無論硬件和OS如何變化,TCP和IP的功能都是一樣的,或者說這些功能規格都是統一的。
2.當包到達服務器時,網卡會接收信號並通知CPU,此時使用的機制叫什麼?
中斷
3. Web服務器可以同時處理多個客戶端的訪問,這裏利用了操作系統的什麼功能?
多任務和多線程
服務器需要同時和多個客戶端通信,但一個程序來處理多個客戶端的請求是很難的,因爲服務器必須把握每一個客戶端的操作狀態。因此一般的做法是,每有一個客戶端連接進來,就啓動一個新的服務器程序,確保服務器程序和客戶端是一對一的狀態。
4.當需要對Web服務器的訪問進行限制的時候,可以根據哪些條件來判斷是否允許訪問?
(a)客戶端IP地址;(b)客戶端域名;(c)用戶名和密碼
5. Web服務器返回的數據包括文檔、圖片等多種類型,客戶端如何判斷返回數據的不同類型?
原則上根據響應消息的Content-Type頭部字段的值來判斷