應(yīng)用不同模塊分析

2018-02-24 15:25 更新

我們來(lái)分解一下這個(gè)應(yīng)用,為了實(shí)現(xiàn)上文的用例,我們需要實(shí)現(xiàn)哪些部分呢?

  • 我們需要提供Web頁(yè)面,因此需要一個(gè)HTTP服務(wù)器
  • 對(duì)于不同的請(qǐng)求,根據(jù)請(qǐng)求的URL,我們的服務(wù)器需要給予不同的響應(yīng),因此我們需要一個(gè)路由,用于把請(qǐng)求對(duì)應(yīng)到請(qǐng)求處理程序(request handler)
  • 當(dāng)請(qǐng)求被服務(wù)器接收并通過(guò)路由傳遞之后,需要可以對(duì)其進(jìn)行處理,因此我們需要最終的請(qǐng)求處理程序
  • 路由還應(yīng)該能處理POST數(shù)據(jù),并且把數(shù)據(jù)封裝成更友好的格式傳遞給請(qǐng)求處理入程序,因此需要請(qǐng)求數(shù)據(jù)處理功能
  • 我們不僅僅要處理URL對(duì)應(yīng)的請(qǐng)求,還要把內(nèi)容顯示出來(lái),這意味著我們需要一些_視圖邏輯_供請(qǐng)求處理程序使用,以便將內(nèi)容發(fā)送給用戶的瀏覽器
  • 最后,用戶需要上傳圖片,所以我們需要_上傳處理功能_來(lái)處理這方面的細(xì)節(jié)

我們先來(lái)想想,使用PHP的話我們會(huì)怎么構(gòu)建這個(gè)結(jié)構(gòu)。一般來(lái)說(shuō)我們會(huì)用一個(gè)Apache HTTP服務(wù)器并配上mod_php5模塊。
從這個(gè)角度看,整個(gè)“接收HTTP請(qǐng)求并提供Web頁(yè)面”的需求根本不需要PHP來(lái)處理。

不過(guò)對(duì)Node.js來(lái)說(shuō),概念完全不一樣了。使用Node.js時(shí),我們不僅僅在實(shí)現(xiàn)一個(gè)應(yīng)用,同時(shí)還實(shí)現(xiàn)了整個(gè)HTTP服務(wù)器。事實(shí)上,我們的Web應(yīng)用以及對(duì)應(yīng)的Web服務(wù)器基本上是一樣的。

聽(tīng)起來(lái)好像有一大堆活要做,但隨后我們會(huì)逐漸意識(shí)到,對(duì)Node.js來(lái)說(shuō)這并不是什么麻煩的事。

現(xiàn)在我們就來(lái)開(kāi)始實(shí)現(xiàn)之路,先從第一個(gè)部分--HTTP服務(wù)器著手。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)