Web server vs application server: What is the difference?


Posted by Christy on 2021-09-25

很久很久以前,web & app Server 的任務是...

在古早的冰河時期,網頁還不能跟使用者互動,web server 主要的任務是傳送靜態檔案。

當瀏覽器透過 HTTP 發送 request,web server 就會回覆 response 並傳送需要的檔案。

舉個例子:使用者點擊 Lidemy 官網的課綱,web server 就回傳已經寫好的 HTML 跟 CSS。

app server 主要的任務是執行程式碼及讀取資料庫,app server 只能透過 web server 跟瀏覽器溝通。

時代在走,科技不斷進步

時代演進,使用者對網頁需求越高,兩者的界線也就越模糊了。在這裡把手機比喻為 web server;電腦比喻為 app server。

以前手機只能傳簡訊跟通話,可能還無法想像手機做簡報、玩遊戲等等。電腦則是佔據了一整個房間大小,主要拿來做運算用的。

嚴格的定義來說,可以把 web server 想成是一個可以獨立運作的機器,而這台機器存在於 app Server 這台更大的機器裡面。

現在 web server 不只有傳送靜態檔案,也可以用插件來產生動態的資料了!就像是手機主要工作是通話用,但也可以拿來工作;電腦主要是工作用,但也可以拿來通話。

小結:

  • web server: 傳靜態檔案、靠 HTTP 跟瀏覽器溝通

  • app server: 執行程式碼及讀取資料庫、靠 web server 跟瀏覽器溝通

  • app server 裡面包含了 web server,web 代理客戶的請求並跟 app 拿資料。

  • 當代 server 通常是 web application server 混血版本,流行的有 Nginx、Apache 等等,類似油電混合車的概念。

參考資料:

Web server vs Application server

淺談 Web Server and Application Server

Open source web servers and application servers

註:這個主題要深應該可以更深,留待未來慢慢增加知識。










Related Posts

[ Nuxt.js 2.x 系列文章 ] nuxt.config.js 設定檔

[ Nuxt.js 2.x 系列文章 ] nuxt.config.js 設定檔

Print lots of stars

Print lots of stars

如何完成程式設計共學營報名流程?

如何完成程式設計共學營報名流程?


Comments