如何訪問網站
Step0 解析URL
用戶(客戶端瀏覽器)
將url解析成三部分:協議 ,域名,路徑。Step1 定位主機
DNS(Domain Name System)
將域名解析為IP地址(主機在操作系統中的定位)
解析過程:瀏覽器緩存–>系統緩存–>路由器緩存–>ISP DNS緩存–>遞歸搜索Step2 打包請求
通過HTTP協議將http報文打包成請求Step3 創立連接
通過TCP協議去連接IP地址對應的服務器
Step4 發送請求
通過默認端口80
向遠程服務器發送請求-
Step5 處理請求
-
HTML文件
Apache服務器在它管理的文檔目錄中找到并打開相應的HTML文件
==》
客戶端瀏覽器 -
PHP文件
Apache服務器無法處理php動態語言腳本文件
==》
PHP應用服務器接受PHP文件,打開并解析,翻譯成HTML靜態代碼
==》
Apache服務器 ==》
客戶端瀏覽器 -
MySQL數據庫
Apache服務器 ==》
PHP應用服務器打開PHP文件
==》
通過PHP文件中的連接代碼
連接MySQL數據庫 ==》
通過PHP程序執行標準的SQL查詢語句
獲取數據庫中的數據 ==》
PHP應用服務器將數據生成HTML靜態代碼
==》
Apache服務器 ==》
客戶端瀏覽器
-
HTML文件
Step5 處理響應
瀏覽器收到響應,接收并下載服務器端的html靜態代碼
渲染網頁
渲染過程:解析html生成DOM樹
,解析css生成CSS樹
–>合并成為渲染樹
–>解析js并執行
常見wed服務器
- Apache
世界排名第一、免費開源的Web服務器軟件,可以安裝運行在絕大多數的計算機平臺上,支持大多數語言開發的B/S結構軟件。功能強大,尤其在靜態頁面處理速度上表現優異。 - Lighttpd
輕量級web服務器,cpu占用低,效能好,模塊豐富。 - Tomcat
Apache下的一個核心子項目,是目前使用量最大的免費的JAVA服務器。主要處理的是JSP頁面和Servlet文件。常與Apache整合使用。 - Nginx
輕量級,高性能http和反向代理服務器。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。 - IIS
Windows產品自帶的免費Web服務器,安裝配置簡單,主要解析ASP程序代碼。一般跟Apache整合使用。配置過程中需注意權限問題。
如何訪問饑人谷
1 解析URL 協議:http
域名:jirengu.com
2 DNS解析 得到IP地址:121.40.201.213:80
端口:80
3 發送請求 把打包過的請求體
通過80端口
發給nginx服務器
4 響應請求 獲取PHP文件
委托PHP應用服務區
從MySQL數據庫
獲得數據并翻譯成html靜態代碼
返還
5 渲染頁面 解析相關代碼合并成渲染樹
解析并運行JS代碼
下載內嵌資源