這幾天測試打印機一直出現打印延遲或者不打印的BUG。找了幾天也沒有發現為啥沒有打印或者打印延遲。
然后今天公司的研發大佬過來找問題,並開個會,瞬間所有的問題都找出了並且知道怎么解決了。
大佬果然還是大佬。佩服實在是佩服!!!
現在這個社會,我們都離不開網絡,那么網絡的工作流程是怎么樣的呢?從http發起請求到完成請求,網絡到底給我們做了什么事情?
今天我們主要來分析下http請求的過程:
在Http工作之前,Web瀏覽器通過網絡和Web服務器建立鏈連接,
該連接是通過Tcp來完成的,該協議和Ip共同組成了Internet,即著名的Tcp/Ip協議族,
因此Internet也被稱為Tcp/Ip網絡,Http是比Tcp更高的應用層協議,一般Tcp接口的端口好是80.
Web瀏覽器給Web服務器發送請求命令,這個命令中包含

Web服務器發送響應數據給Web瀏覽器,這個包含

然后Web服務器關閉連接。
以上就是基本的http請求。
在這個過程中,http建立連接,Tcp經過了3次握手,下面我們來講講具體的3次握手的過程,首先我們來看一張圖:

1:客戶端發送了一個帶有SYN的Tcp報文到服務器,這個三次握手中的開始。表示客戶端想要和服務端建立連接。
2:服務端接收到客戶端的請求,返回客戶端報文,這個報文帶有SYN和ACK標志,詢問客戶端是否准備好。
3:客戶端再次響應服務端一個ACK,表示我已經准備好。
那么為什么要三次握手呢,有人說兩次握手就好了。的確,為什么呢,這個可以從計算機網絡中得到答案,舉一個例子:已失效的連接請求報文段,
client發送了第一個連接的請求報文,但是由於網絡不好,這個請求沒有立即到達服務端,而是在某個網絡節點中滯留了,知道某個時間才到達server,本來這已經是一個失效的報文,但是server端接收到這個請求報文后,還是會想client發出確認的報文,表示同意連接。假如不采用三次握手,那么只要server發出確認,新的建立就連接了,但其實這個請求是失效的請求,client是不會理睬server的確認信息,也不會向服務端發送確認的請求,但是server認為新的連接已經建立起來了,並一直等待client發來數據,這樣,server的很多資源就沒白白浪費掉了,采用三次握手就是為了防止這種情況的發生,server會因為收不到確認的報文,就知道client並沒有建立連接。這就是三次握手的作用。
當終止協議的時候,tcp進行了4次握手,那這4次握手有是怎么回事呢?

有空補,下班了
