學習筆記
# 6.1 伺服器概覽
首先要大體弄懂伺服器是個啥
## 6.1.1客戶端與伺服器的區別
伺服器啟動之後,需要進行各種準備工作,弄懂包括這些準備工作在內的伺服器整體結構是很重要的。
話說回來,到底啥區別呢?
有何相同之處?
## 6.1.2 伺服器程式的結構
- 伺服器一般會有多個客戶端連線,為了把握每個客戶端的執行狀態,一般採用一對一的形式。
- 伺服器程式的結構分為兩個模組,等待連線模組和與客戶端通訊的模組
- 看懂下面的圖:
判斷是不是發給自己的;(2)判斷網路包是否經過分片;(3)將包**給tcp或者udp模組
##6.2.3 tcp模組如何處理連線包
如何處理發起連線的包,即如何處理控制為syn為1的包
>tcp模組會(1)確認tcp頭部的控制位syn;(2)檢查接收方埠號;(3)未響應的等待連線套接字複製乙個新的副本;(4)記錄傳送方ip位址和埠號等資訊。
注意:如果相應埠沒有處於等待連線模組的套接字則會返回錯誤
## 6.2.4 tcp如何處理資料報
1. 根據四種資訊找到套接字
2. 校驗控制資訊,如包的序號是否可以銜接,判斷是否丟失
3. 拼合包,儲存在緩衝區
4. 向客戶端返回ack
##6.2.5 tcp模組的斷開操作
在http1.1 中 客戶端先發起fin, 伺服器返回ack,然後傳送fin,客戶端返回ack。一段時間後套接字被刪除。
#6.3 web伺服器程式解釋請求訊息並作出響應
##6.3.1 將請求的url轉換為實際的檔名
web伺服器公開的目錄不一定是磁碟上的真是目錄,需要經過一定的轉換
##6.3.2 執行cgi程式
- url不一定指向檔案,還可能指向程式,如果是指向程式,則執行相應程式
- 如果方法為get,則將url後面的引數傳遞給程式;如果方法為post,則將訊息體中的資料傳給程式
- 執行結果返回伺服器

在傳輸中包與包之間沒有關聯 網線越長,頻率越高,損失越大 損失會使波形變形,無法分辨0 1,造成錯誤 雙絞線抑制雜訊 兩種維護方式 收到包時,將傳送方的埠號與mac位址加入位址表 將一段時間不使用的過時記錄刪除 這是為了防止裝置移動而改變埠 若發生錯誤,重啟交換機即可 講了兩個 交換機發現包要返回源...
網路是怎樣連線的(三)
3.1 訊號在網線和集線器中傳輸 3.1.1 每個包都是獨立傳輸的 在傳輸中包與包之間沒有關聯 3.1.2 防止網線中的訊號衰減很重要 網線越長,頻率越高,損失越大 損失會使波形變形,無法分辨0 1,造成錯誤 3.1.3 雙絞 是為了抑制雜訊 雙絞線抑制雜訊 3.1.4集線器將訊號發往所有線路 乙太...