1. 程式人生 > >一、LAMP架構

一、LAMP架構

LAMP

一、LAMP架構介紹

技術分享圖片

Linux為操作系統,apache是提供web服務的中間件,mysql主要存儲數據,php是一個腳本語言,和shell類似,但是相對復雜,通常用來寫網站。

二、httpd、PHP、MySQL三者連接關系

針對apapche、mysql、php三個角色,它們可以部署在同一臺機器上,也可以單獨部署mysql,但是httpd和php要部署在同一臺機器上(為什麽?)

技術分享圖片

apache和php視為一個整體,因為php是以一個模塊(PHP module)和apapche相互進行數據交互的,也就是說apahce不能直接和mysql進行數據交互,只能通過php module模塊向mysql取數據,然後再返回給apache ,最終再返回用戶發出的訪問請求。

註意:

PHP modle向mysql取數據的過程,我們稱為動態請求,比如我們訪問知乎網站時,在瀏覽器上輸入賬號密碼,然後交給apache,apache拿到用戶輸入的賬號密碼後,通過PHP Module把數據傳遞給mysql進行一個比較驗證,看看用戶在瀏覽器上輸入賬號密碼和mysql數據中的是否一致,mysql再通過PHP Module返回驗證結果給apapche,如果用戶在瀏覽器輸入正確賬號密碼後就能順利登陸。這個過程就是一個動態請求的過程

如果你是訪問某個網站上圖片(靜態文件),也就是沒有和mysql進行數據交互,這個過程就是靜態請求,需要說明的是mysql裏面不存圖片(靜態文件)

三、靜態頁面和動態頁面知識延伸

1.概念定義

1.1靜態網頁

靜態網頁是標準的HTML文件,它的文件擴展名是.htm或.html,可以包含文本、圖像、聲音、FLASH動畫、客戶端腳本和ActiveX控件及JAVA小程序等。

這種網頁不包含在服務器端運行的任何腳本,網頁上的每一行代碼都是由網頁設計人員預先編寫好後,放置到Web服務器上的,在發送到客戶端的瀏覽器上後不再發生任何變化,因此稱其為靜態網頁。

靜態網頁的處理流程:

1、當用戶在瀏覽器的‘地址’欄中輸入一個URL地址並單擊‘轉到’按鈕或敲擊鍵盤上的‘回車鍵’後、單擊網頁中的超鏈接後、在瀏覽器菜單欄的‘收藏’選擇一個網址後,瀏覽器將向Web服務器發出一個頁面請求。

2、當Web服務器收到這個頁面請求,根據.htm或.html判斷出這是一個靜態的HTML文件,會從磁盤或存儲器中查找獲取用戶請求的這個頁面。

3、Web服務器找到這個請求文件後,就會把它發送到瀏覽器,瀏覽器對這個返回的HTML文件進行解釋並將結果顯示在瀏覽器中。

1.2 動態網頁

動態頁面是以ASP、PHP、JSP、http://ASP.net、Perl、或CGI等編程語言制作的。 我們經常會看到,在地址欄裏有一些網址特別長,而且還帶有“?”,這樣的鏈接一般是動態鏈接,其所對應的頁面就是動態頁面。

動態頁面具有這些特征:

動態頁面是以ASP、PHP、JSP、http://ASP.net、Perl、或CGI等編程語言制作的;

動態頁面實際上並不是獨立存在於服務器上的網頁文件,只有當用戶請求時服務器才返回一個完整的網頁;動態頁面上的內容存在於數據庫中,根據用戶發出的不同請求,其提供個性化的網頁內容;動態頁面內容不是存在於頁面上,而是在數據庫中,從而大大降低網站維護的工作量;

采用動態網頁技術的網站可以實現更多的功能,如用戶註冊、用戶登錄、在線調查、用戶管理、訂單管理等等;靜態頁面則無法實現這些功能。

動態網頁的處理流程:

1、當用戶在瀏覽器的‘地址‘欄中輸入一個URL地址並單擊‘轉到‘按鈕或敲擊鍵盤上的‘回車鍵‘後、單擊網頁中的超鏈接後、在瀏覽器菜單欄的‘收藏‘選擇一個網址後,瀏覽器將向Web服務器發出一個頁面請求。
2、當Web服務器收到這個頁面請求,根據文件擴展名判斷出它是一個動態網頁,會從磁盤或存儲器中查找獲取用戶請求的這個頁面,再將這個頁面傳遞給應用程序服務器。
3、應用程序服務器解釋執行該頁中的腳本代碼,並將結果以靜態網頁的形式保存。
4、應用程序服務器將靜態網頁結果傳遞給Web服務器。

2.區別聯系

動態網頁和靜態網頁的相同之處:都是ASCII編碼文件,都存在著HTML代碼,都能包含腳本語言代碼,都存放在Web服務器上,都把用戶請求的頁面發送到瀏覽上。

動態網頁和靜態網頁的區別是:動態網頁的文件擴展名不是.htm、.html,而是以.asp、.jsp、.php、.perl、.cgi等形式為文件後綴;動態網頁中的某些腳本只能在服務器上運行,而靜態網頁不能包含在服務器上運行的任何腳本;當Web服務器收到用戶請求的靜態頁面後,將把查找結果直接發送到瀏覽器,而當Web服務器收到用戶請求的動態頁面後,它將先把這個網頁傳遞給一個稱為應用服務器擴展的特殊軟件進行處理,然後將處理結果傳送給瀏覽器。

關於靜態頁面和動態頁面的其他文檔資料

https://www.cnblogs.com/bluesungz/p/5955170.html

一、LAMP架構