第一個簡易的Node.js Server
阿新 • • 發佈:2018-12-13
接收請求
我們的指令碼只需要一個檔案就可以搞定
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 視窗,完成下面的教程
好了伺服器完成。只不過
- 這個伺服器目前只有一個功能,那就是打印出路徑和查詢字串
- 還缺少一個重要的功能,那就是發出 HTTP 響應
目前我們先只做一個功能玩玩。
接下來你要發起一個請求到這個伺服器。這聽起來有點怪異,「我向自己發起請求」,目前是的,因為你買不起伺服器啊。
你會馬上發現 server 打印出了路徑:
- 這說明我們的 server 收到了我們用 curl 發出的請求
- 由於 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 檔案