Nodejs教程04:使用http和fs模塊實現一個簡單的服務器

閱讀更多系列文章請訪問個人GitHub博客,示例代碼請訪問這裏

使用http和fs模塊實現一個簡單的服務器

  1. 建立一個www目錄,存儲靜態文件1.html、1.jpg。
  2. 1.html文件內容以下:

示例代碼:/lesson04/www/1.htmlhtml

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  網頁內容
  <img src="/1.jpg" alt="">
</body>
</html>
複製代碼
  1. 預期實現的結果爲: a. 在瀏覽器訪問http://localhost:8080/1.html。 b. 讀取到www/1.html,由HTML文件發起對www/1.jpg的請求。 c. 網頁中顯示HTML內容和圖片。前端

  2. 使用Nodejs實現服務端代碼:git

示例代碼:/lesson04/server.jsgithub

const http = require('http')
const fs = require('fs')

const server = http.createServer((request, response) => {
  console.log(request.url)  // 在request對象中,能夠獲取請求的URL,經過URL判斷請求的資源。
  fs.readFile(`./www${request.url}`, (error, buffer) => { // 根據URL查找讀取相應的文件。
    if (error) {  // 若讀取錯誤,則向前端返回404狀態碼,以及內容Not Found。
      response.writeHead(404)
      response.write('Not Found')
    } else {  // 若讀取成功,則向前端返回讀取到的文件。
      response.write(buffer)
    }
    response.end()  // 關閉鏈接。
  })
})

server.listen(8080)
複製代碼

服務器須要具有的基本功能

  1. 響應請求 如上面的例子,能夠根據客戶端的請求作出迴應,如返回靜態文件。
  2. 數據交互 定義接口,客戶端根據接口,與服務端進行數據交互。 例如在一個購物流程中,客戶端向服務端請求商品數據,展示給客戶,客戶在購買時,客戶端將購買的商品信息發送給服務端處理。
  3. 數據庫 對數據庫中存儲的數據進行讀寫操做。

接下來的文章中,將進入先後段的數據交互內容。數據庫

相關文章
相關標籤/搜索