簡單總結(jié)了一下用戶從瀏覽器請求網(wǎng)址(HTTP請求),到服務(wù)器處理請求返回?cái)?shù)據(jù)過程,如有錯誤或表述不正確,歡迎討論交流。
HTTP 事務(wù)執(zhí)行過程
- 客戶端(瀏覽器)做出請求操作(輸入網(wǎng)址、點(diǎn)擊鏈接、提交表單)。
- 客戶端對域名進(jìn)行解析,向設(shè)定的 DNS 服務(wù)器請求 IP 地址。
- 客戶端根據(jù) DNS 服務(wù)器返回 IP 地址采用三次握手與服務(wù)端建立 TCP/IP 連接。
- TCP/IP 連接成功后,客戶端向服務(wù)端發(fā)送 HTTP 請求。
- 服務(wù)端的 Web Server 會判斷 HTTP 請求的資源類型,進(jìn)行內(nèi)容分發(fā)處理;如果請求的資源為 PHP 文件,服務(wù)端軟件會啟動對應(yīng)的 CGI 程序進(jìn)行處理,并返回處理結(jié)果。
- 服務(wù)端將 Web Server 的處理結(jié)果響應(yīng)給客戶端
- 客戶端接收服務(wù)端的響應(yīng),并渲染處理結(jié)果,如果響應(yīng)內(nèi)容需要請求其他靜態(tài)資源,通過 CDN 加速訪問所需資源。
- 客戶端將渲染好的視圖呈現(xiàn)出來并斷開 TCP/IP 連接
流程圖

nginx與php處理用戶請求響應(yīng)流程圖 .png
參考:
https://github.com/skyline75489/what-happens-when-zh_CN/blob/master/README.rst
https://zhuanlan.zhihu.com/p/20694204