http模块,快速创建一个后端服务

服务端

使用Nodejs的项目一般情况下都是想要创建一个服务端,就目前来说,一般大公司都专门有自己的Node服务端,而小公司一般都用的是PHP和Java作为服务端,毕竟会Node的人数远远少于会Java和会PHP的人数,而且Java和PHP在服务端已经经历了那么多年的沉淀,其稳定性也不是Node服务端能够比拟的。

但即使是这样,Node依然是一个前端进阶路上必须经历的一个阶段,因为学习Node不光可以加深对后端的了解,同时因为可以使用JavaScript写服务端,所以自己也可以做一些全栈项目。

其实因为Node因为擅长处理高并发,而且创建简单,其实在国外已经有非常多的服务端使用Node进行编写。

创建一个简单的服务端

response

response:为服务端给客户端的响应,如果客户端发起了请求,服务端需要传递某些信息给客户端,都是要通过response下面的方法。

使用Node创建一个简单的服务端是非常轻松的事情:

import { createServer } from "http";

createServer(((request, response) => {
  /* 设置响应头,状态码200,文件类型html,字符集是 utf-8 */
  response.writeHead(200, {"Content-Type": "text/html;charset=utf-8"}); // 请求头
  /* 写入信息 */
  response.write("Hello Node");
  response.end(); // 结束相应
})).listen(3000); // 监听3000端口

然后启动服务器,npm run start

注意:如果报错的话,还请查看Post not found: Nodejs/使用TypeScript来编写Node项目 使用TypeScript来编写Node项目

通过浏览器访问localhost:3000,我们应该可以看到下面的界面:

image-20200913220410406

好的,到这一步,一个简单的服务端就已经搭建完成了,是不是非常的简单。

在当前界面打开开发者调试工具:

image-20200913222058175

可以看到,上面设置的响应头,在图中勾出来的位置有所提现。

注意:如果不设置response.end()则浏览器会进入假死状态,如果不设置charset=utf-8,在响应信息中输入中文,会出现乱码的情况,大家可以自行尝试一下。

request

request:请求,服务端接受客户端发送过来的请求信息,包含了很多信息,我们首先需要了解的是request.url

即客户端请求的url地址。

import { createServer } from "http";

createServer(((request, response) => {
  console.log(request.url);
  response.writeHead(200, {"Content-Type": "text/html;charset=utf-8"}); 
  response.end(); // 结束相应
})).listen(3000); // 监听3000端口

启动服务端,我们在地址栏中输入localhost:3000/hello,控制台会打印出两个参数。

/hello # localhost:3000后所带的Url
/favicon.ico # 默认请求图标文件,即浏览器标签栏中左边的小图标

因为浏览器直接请求默认是get请求,众所周知get请求是可以通过?name=xxx&age=xxx的这种形式传递参数的,那么我们怎么获取传递过来的这些参数呢?

除了自己拆分外,还有种更简单的方法就是使用Nodejs自带的url模块

url模块


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!