服務器如何處理http請求


1.需求

了解服務端如何處理http請求,了解基本的處理流程

2.實戰

處理http請求分為7個步驟

2.1 Tcp連接

建立一條tcp鏈接,(若之前不存在持久鏈接keep-alive),把客戶端的ip和port,服務端的ip和port數據放到web服務器連接表中。服務器隨時監聽鏈接表中的鏈接,看有沒有數據變化

2.2 接收http請求

一旦我們發送http請求了,這條tcp鏈接就開始工作了。因為web服務器鏈接表中有許多鏈接需要被處理,處理的方式有單線程,多線程這些(這些涉及操作系統的知識)。

2.3 處理http請求

處理的過程大致是把請求的信息解析出來,如下圖

 

2.4 訪問資源

訪問資源可以是訪問靜態資源,這個就直接根據url地址去服務器里找就好了。

訪問動態資源的話要經過一個叫cgi的東西,再用服務端腳本處理,再返回給前端。如下圖所示

2.5 構建響應

要是找到資源,則構建響應信息,包括響應的對象類型,長度,狀態碼。

另一個情況是重定向響應,就是直接返回一個重定向,客戶端看到之后,立刻再向重定向的地址發起請求。重定向的響應的狀態碼一般是3xx。

2.6 發送響應

把構建的響應發送給客戶端

2.7 記錄日志

服務端對這個請求響應過程進行記錄。(另外專門再講)

 

3.總結

以上是服務端處理http請求的大致過程。能讓大家有個大致輪廓,當然里面有很多細節的知識沒講到,要另外查詢資料並學習。

 

參考資料:http權威指南

 

https://www.cnblogs.com/norm/p/6189596.html


免責聲明!

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



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