2019鐵人賽
網頁伺服器
其實我在 鐵人賽 Day 5 - PHP 應用程式環境架設 Part III 就有提到"網頁伺服器"是什麼。
但是以我自己這個新手後端工程師而言,我還是搞不懂為什麼非得要安裝網頁伺服器的軟體阿,所以我這邊打算用自己理解的方式來回答這個問題
再來看一次 網頁伺服器 - 維基百科 的定義,我個人比較偏好第二個解釋。
對於網頁伺服器而言,關鍵不在有沒有電腦,而是有沒有控制它的應用程式,否則你以為遠端連線到另外一台電腦就算是網頁連線了嗎?
當然不是!
看看裡面提到的
雖然每個網頁伺服器程式有很多不同,但有一些共同的特點:每一個網頁伺服器程式都需要從網路接受HTTP請求,然後提供HTTP回覆給請求者。HTTP回覆一般包含一個HTML檔案,有時也可以包含純文字檔案、圖像或其他類型的檔案。
由此可知,網頁的溝通除了連線之外,最基礎的還是使用者提出"網路請求( request )",而伺服器提供一個"回應( response )"回去,而這一來一往都要遵守 HTTP 的協議。
一般來說這些檔案都儲存在網頁伺服器的本地檔案系統裡,而URL和本地檔名都有一個階級組織結構的,伺服器會簡單的把URL對照到本地檔案系統中。當正確安裝和設定好網頁伺服器軟體,伺服器管理員會從伺服器軟體放置檔案的地方指定一個本地路徑名為根目錄。
這點倒是不難理解,就是使用者透過 URL 連線到電腦,但僅僅是連線到我們指定的資料夾,並不是把整個電腦的操作權限交給他。
先讓咱們回到 Day 2 - 誰來翻譯 PHP。應用程式伺服器負責處理 HTTP 之外的語言。
由於網頁伺服器只負責處理 HTTP 的部分,所以想當然而要別人去負責處理其他語言的檔案,所以只要安裝好應用程式伺服器,而且網頁伺服器也設定好什麼檔案要給它處理。
截至2017年10月,光兩個網頁伺服器的市佔率就已經83%,網路上對這兩個的差異也很多比較。
我稍微整理一下