網站的基本概念:
服務器:安裝了特定軟件的計算機系統。
IP: 互聯網協議
域名: 給IP地址起的名字
DNS: 域名系統(域名和IP地址相互映射的一個分佈式數據庫)。
端口:分爲虛擬端口和物理端口。
虛擬端口
實例:
用戶 輸入 域名localhost:端口 ——> DNS ----> 服務器電腦-----> 軟件(獲取服務)。
Web 程序的訪問流程
web分爲兩類:
靜態網站和動態網站
流程:
瀏覽器發起訪問———》DNS解析域名——(IP)——》 服務器電腦——(端口)-----》 服務軟件
靜態訪問網站的實現:
1. 瀏覽器:
2. 服務器:安裝服務軟件,如Apache(提供一些文件夾:網頁供訪問)
3. 流程:
1. 在瀏覽器中輸入URL(uniformed resource location,統一資源定位),即互聯網上的絕對路徑,如http://localhost:80/index.html。
2. 訪問DNS服務器,DNS服務器中分爲 本地DNS(即host文件)和 網絡DNS ,先找本地,後找網絡。
3. 通過IP地址找到服務器,127.0.0.1:80/index.html
4. 通過80端口找到對應的Apache,然後查看要訪問的內容。
5. URI (uniform resource identify)統一資源標識符,目標機器上相對某個文件夾的相對路徑。Apache根據URI讀取相關文件,注意:這一步中,Apache只負責根據URI讀取文件裏面的內容。
6. Apache返回結果。
7. 瀏覽器解析內容。
動態訪問網站實現:
動態網站訪問流程與靜態差不多,但是,增加了服務器端解析流程(PHP引擎)和 數據庫。
與靜態網站訪問流程的不同點:
1.URL等的結尾由“html”改爲php
2. Apache在讀取php代碼之後,要進行解析,可能需要操作數據庫。
3. PHP在讀取引擎的過程中,有可能需要訪問數據庫服務器。
4. PHP交給Apache靜態的html,供瀏覽器訪問。