Node.js创建Web服务器和TCP服务器

一、使用http模块创建Web服务器

Web服务器的功能:

  • 接受HTTP请求(GET、POST、DELETE、PUT、PATCH)

  • 处理HTTP请求(自己处理,或请求别的程序处理)

  • 做出响应(返回页面、文件、各类数据等)

常见的Web服务器架构:

  • Nginx / Apache:负责接受HTTP请求,确定谁来处理请求,并返回请求结果

  • php-fpm / php模块:处理分配给自己的请求,并将处理结果返回给分配者

常见请求种类:

  • 请求文件:包括静态文件(网页、图片、前端JavaScript文件、CSS文件……),及由程序处理得到的文件

  • 完成特定的操作:如登录、获取特定数据等

Node.js的Web服务器:

  • 不依赖其它特定的Web服务器软件(如Apache、Nginx、IIS……)

  • Node.js代码处理请求的逻辑

  • Node.js代码负责Web服务器的各种“配置”

使用Node.js核心模块http创建Web服务器

111.jpg

补充:退出Node:control+C

二、使用Express创建Web服务器

简单的Express服务器

11112.jpg

模板创建应用:

  1. 使用cnpm全局安装express-generatorcnpm install -g express-generator

  2. 创建应用express expressHello

  3. 安装模块npm install

静态文件服务

(1)静态文件范围:

  1. 网页

  2. 纯文本

  3. 图片

  4. 前端JavaScript代码

  5. CSS样式表文件

  6. 媒体文件

  7. 字体文件

(2)使用Express创建静态文件服务器// 引入express模块

11113.jpg

路由

三种路由方法:

path

优点:简单

Router

优点:比较适合定义同一路由下的多个子路由

route

优点:比较适合定义RESTful API

1115.jpg

中间件

  • Connect:Node.js的中间件框架

  • 分层处理

  • 每层实现一个功能

三、创建TCP服务器

  • 使用net模块创建TCP服务器

1116.jpg

  • 使用telnet连接TCP服务器

  • 使用net创建TCP客户端

11117.jpg


文章来源:PHP-Z