1. 程式人生 > >第一個簡易的Node.js Server

第一個簡易的Node.js Server

接收請求

我們的指令碼只需要一個檔案就可以搞定

1.新建一個安全的目錄,不需要我重複強調吧?
2.cd ~/Desktop; mkdir node-demo; cd node-demo
3.touch server.js
4.編輯 server.js,內容我已經上傳到 GitHub。
5.執行 node server 或者 node server.js,看到報錯
6.根據報錯提示調整你的命令
7.成功之後,這個 server 會保持執行,無法退出
	i.如果你想「中斷」這個 server,按 Ctrl + C即可(C 就是 Cancel 的意思)
	ii.中斷後你才能輸入其他命令
	iii.我建議你把這個 server 放在那裡別動,新開一個 Bash 視窗,完成下面的教程

好了伺服器完成。只不過

  1. 這個伺服器目前只有一個功能,那就是打印出路徑和查詢字串
  2. 還缺少一個重要的功能,那就是發出 HTTP 響應

目前我們先只做一個功能玩玩。

接下來你要發起一個請求到這個伺服器。這聽起來有點怪異,「我向自己發起請求」,目前是的,因為你買不起伺服器啊。

你會馬上發現 server 打印出了路徑: 在這裡插入圖片描述

  1. 這說明我們的 server 收到了我們用 curl 發出的請求
  2. 由於 server 遲遲沒有發出響應,所以 curl 就一直等在那裡,無法退出(用 Ctrl + C 中斷這個傻 curl)

發出響應

接下來我們讓我們 server 發出響應

1. 編輯 server.js
2.在中間我標註的區域新增兩行程式碼
	response.write('Hi')
	response.end()
3.中斷之前的 server,重新執行 node server 8888
4.curl http://127.0.0.1:8888/xxx,結果如下:
Hi%
這個 % 不是我們的內容,% 表示結尾。別再問我了。如果你看 % 不爽,就把 'Hi' 換成 'Hi\n'。
5.好了,響應新增成功
6.使用 curl -s -v -- "http://localhost:8888/xxx" 可以檢視完整的請求和響應(上節課的內容)

根據請求返回不同的響應

響應 / 響應 /xxx 響應 404 響應 /xxx.html 響應 /xxx.frank 再次強調,字尾是廢話。檔案內容是有 HTTP 頭中的 Content-Type 保證的 響應 /xxx.css 響應 /xxx.js HTTP 路徑不是檔案路徑!!!/xxx.html 不一定對應 xxx.html 檔案 HTTP 路徑不是檔案路徑!!!/xxx.html 不一定對應 xxx.html 檔案 HTTP 路徑不是檔案路徑!!!/xxx.html 不一定對應 xxx.html 檔案