理解動態網站的工作原理—平臺是PHP+APACH+MYSQL

科技小能手發表於2017-11-07
當我們在客戶端進行請求的時候,假若我們請求的是一個靜態的網頁的話,那麼這個網頁請求到了WEB伺服器以後,伺服器就會在本身安裝的機器的硬碟上尋找相關的網頁,然後進行返回。        

 假若我們請求的是一個包含動態語言程式碼的網頁,那麼伺服器接收到以後,就會接著傳送給同時安裝在這個機器上的應用程式伺服器,在這裡也就是我們說的PHP處理程式。

PHP處理程式,會理解並解釋這些程式碼的含義。然後對他們處理,然後把這些程式碼刪除了,並且用自己解釋了的東西來代替他們。這個時候原先來的動態網頁的請求,返回的時候仍然是一個很單純的靜態HTML網頁。   這裡也說明了:即使是動態的網站,在使用者端也是看不到動態語言的程式碼的。一定程度上的保護作用。
我們也考慮到:應用程式伺服器就這麼解釋了那些實現動態網站功能的程式碼。那麼那些內容是那裡來的呢?當然是資料庫了~~
所以在WEB伺服器端有了PHP應用處理程式,還有一個MYSQL SERVER
但是應用處理程式和DB SERVER連線的時候是通過中間的一個資料庫驅動程式。

這個驅動程式,接收PHP應用程式從網頁請求中辨認出來的那些程式碼,然後執行那些程式碼所代表的功能 。
 比如說,這些程式碼實現的功能是查詢。那些驅動程式就會對資料庫進行相應要求的查詢。在資料庫裡有很多表。

所要查詢的內容也沒說非得在一個表了啊。所以說:這些所要查詢的內容可能來自很多表,是很多表的部分或者全部內容的集合。叫做:記錄集~~~然後把這個記錄集被驅動程式返回給應用程式伺服器,PHP應用程式伺服器再把原先的程式碼刪除,用這些內容補充上,返回給WEB伺服器,接著返回給客戶就可以了!
前面的查詢條件,當然在資料庫的表裡是可以唯一確定一個表項的了。取出來的內容是什麼樣的,那在一定程式也取決於在建立表的時候,表的結構了~~

所以在建立表的時候,表的結構是很重要的,需要分析的很全面。
我們知道了他們三者之間的關係,他們之間一定得相互連線才可以。所以,也沒有必要把他們都放在一個機器上。但是得保證一點:他們三者之間的連線必須是高效的~這是最本質的關心的方面。
本文轉自Mr2Left 51CTO部落格,原文連結:http://blog.51cto.com/caihong/57350


相關文章