您好,登錄后才能下訂單哦!
apache和php有什么聯系?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
目前來說,網站頁面主要分為靜態頁面和動態頁面,純靜態頁面組成的網站現在相對比較少見,大型網站一般使用的是動態網站建站技術,還有一部分網站是靜態網頁與動態網頁共存。
(1)用戶端訪問服務器端的html文件
S1:通過本機配置好的DNS域名服務器地址尋找DNS服務器,將網站URL中的Web主機域名解析為Web服務器所在的Linux操作系統(Apache通常與Linux操作系統組合使用)中對應的IP地址。
S2:通過HTTP協議(超文本傳輸協議)去連接上述IP地址的服務器系統,通過默認80端口(默認的端口是80,也有其他端口,輸入URL時一般不用輸入端口)請求Apache服務器上相應目錄下的html文件(如index.htm)。
S3:Apache服務器收到用戶的訪問請求后,在它管理的文檔目錄中找到并打開相應的html文件(如index.htm),將文件內容響應給客戶端瀏覽器(即用戶)。
S4:瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態代碼,然后瀏覽器解讀代碼,最終將網頁呈現出來(由于不同的瀏覽器對于代碼的解讀規則會不一樣,所以不同瀏覽器對于相同的網頁呈現的最終頁面效果會有所差異)。
(2)用戶端訪問服務器端的php文件
S1:該步與上面訪問html靜態網頁是一樣的,通過DNS服務器解析出相應的Web服務器的IP地址。
S2:與上面訪問html靜態頁面相似,不過最后請求的是Apache服務器上相應目錄下的php文件,如index.php。
S3:Apache服務器本身不能處理php動態語言腳本文件,就尋找并委托PHP應用服務器來處理(服務器端事先得安裝PHP應用服務器),Apache服務器將用戶請求訪問的php文件(如index.php)文件交給PHP應用服務器。
S4:PHP應用服務器接收php文件(如index.php),打開并解釋php文件,最終翻譯成html靜態代碼,再將html靜態代碼交還給Apache服務器,Apache服務器將接收到的html靜態代碼輸出到客戶端瀏覽器(即用戶)。
S5:與上面訪問html靜態頁面相同,瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態代碼,然后瀏覽器解讀代碼,最終將網頁呈現出來。
(3)用戶端訪問服務器端的MySQL數據庫
如果用戶需要對MySQL數據庫中的數據進行操作,那么就需要在服務器端安裝數據庫管理軟件MySQL服務器,用來存儲和管理網站數據。由于Apache服務器是無法連接和操作MySQL服務器,所以還需要安裝php應用服務器,這樣Apache服務器就委托php應用服務器去連接和操作數據庫,在對數據庫中的數據進行管理的時候,一般都需要用到結構化查詢語句,即SQL語句。
S1:該步與上面訪問php文件一樣,通過DNS服務器解析出相應的Web服務器的IP地址。
S2:與上面訪問php文件一樣,請求訪問Apache服務器上相應目錄下的php文件。
S3:與上面訪問php文件一樣,PHP應用服務器接收Apache服務器的委托,收到相應的php文件。
S4:PHP應用服務器打開php文件,在php文件中通過對數據庫連接的代碼來連接本機或者網絡上其他機器上的MySQL數據庫,并在php程序中通過執行標準的SQL查詢語句來獲取數據庫中的數據,再通過PHP應用服務器將數據生成html靜態代碼。
S5:瀏覽器收到Web服務器的響應后,接收并下載服務器端的html靜態代碼,然后瀏覽器解讀代碼,最終將網頁呈現出來。
需要注意的是,文中(2)與(3)的區別是,一個訪問了數據庫,另一個沒有訪問數據庫,所以在過程中有點差別。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。