-
新建一个安全的目录
cd ~/Desktop; mkdir node-demo; cd node-demo
-
touch server.js
-
编辑 server.js,内容我已经上传到 GitHub。
-
运行
node server
或者node server.js
,看到报错 -
根据报错提示调整你的命令
-
成功之后,这个 server 会保持运行,无法退出
- 如果你想「中断」这个 server,按
Ctrl C
即可(C 就是 Cancel 的意思) - 中断后你才能输入其他命令
- 我建议你把这个 server 放在那里别动,新开一个 Bash 窗口,完成下面的教程,好了服务器完成。
- 如果你想「中断」这个 server,按
-
只不过这个服务器目前只有一个功能,那就是打印出路径和查询字符串
8、在新的 Bash 窗口运行curl http://localhost:你的指定的端口/xxx
或者 curl http://127.0.0.1:你指定的端口/xxx
。你会马上发现 server 打印出了路径:
9、这说明我们的 server 收到了我们用 curl 发出的请求
10、由于 server 迟迟没有发出响应,所以 curl 就一直等在那里,无法退出(用 Ctrl C中断过程)
让我们 server 发出响应
-
编辑 server.js
-
在中间我标注的区域添加两行代码
response.write('Hi') response.end()
-
中断之前的 server,重新运行
node server 8888
-
curl http://127.0.0.1:8888/xxx
,结果如下:Hi%
这个 % 不是我们的内容,% 表示结尾。如果你看 % 不爽,就把 'Hi' 换成 'Hi\n'。
-
好了,响应添加成功
-
使用
curl -s -v -- "http://localhost:8888/xxx"
可以查看完整的请求和响应
根据请求返回不同的响应
- 响应 /
- 响应 /xxx
- 响应 404
- 响应 /xxx.html
- 响应 /xxx.fang
- 再次强调,后缀是废话。文件内容是由 HTTP 头中的 Content-Type 保证的
- 响应 /xxx.css
- 响应 /xxx.js
- HTTP 路径不是文件路径!!!/xxx.html 不一定对应 xxx.html 文件
这是完整的代码(不含中间的 if else):
内容我已经上传到 GitHub
网友评论