美文网首页
Express 核心

Express 核心

作者: littleyu | 来源:发表于2020-09-02 11:40 被阅读0次

HTTP 协议

curl

curl -s -v 网址

  • -s 是 silent,用于隐藏进度条
  • -v 是 verbose,用于打印全部 header
  • * 开头的是注释
  • > 开头的是 HTTP 请求
  • < 开头的是 HTTP 响应
  • -o nul 是为了隐藏 HTML 文本(LINUX 和 mac 要将 nul 改成 /dev/null)

请求

  • GET /xxx HTTP/1.1
  • HOST: baidu.com
  • User-Agent: curl/7.70.0
  • Accept: /
  • {user: "admin"}

分为四部分
一、请求行
二、请求头
三、回车
四、请求体 / 消息体

响应

HTTP/1.1 200 OK

  • Content-Type: text/html
  • Content-Length: 2381
  • <html>...</html>

分为四部分
一、状态行
二、响应头
三、回车
四、响应体 / 消息体

HTTP 的复杂性

  • HTTP 复杂就复杂在他有很多请求头和响应头
  • 每个请求头或响应头功能各不相同

Web 框架

  • 功能
  • 更方便的处理 HTTP 的请求和响应
  • 更方便的连接数据库、Redis
  • 更方便的路由
  • 其他:HTML 模版
  • 理念
  • Web 框架的主流思想都是 MVC
  • Model 处理数据相关的逻辑
  • View 处理视图相关逻辑,前后分离之后,View 不重要
  • Controller 负责其他逻辑

express 的编程模型

app.use()

中间件

  • fn 就是中间件,因为他是被插入到启动和结束中间的物

优点

- 模块化
  • 这种模型使得每个功能都能通过一个函数实现
  • 然后通过 app.use 将这个函数整合起来
  • 如果把就函数放到文件或 npm 里,就实现了模块化

错误处理

- next(error)

  • 会直接进入 errorHandle,不执行后面的中间件

- errorHandle 的默认实现见文档

- 自定义 errorHandle

  • 文档说一般放到最后定义
  • app.use((err, req, res, next) => {})
  • 可以定义多个这样的中间件

相关文章

  • Express 核心

    HTTP 协议 curl curl -s -v 网址 -s 是 silent,用于隐藏进度条 -v 是 verbo...

  • Express核心

    使用 TypeScript 准备工作 yarn global add typescript ts-node全局安装...

  • Express核心原理

    逐行解析Express核心原理 文章主要以一下三个部分组成 node 创建http服务 express 创建htt...

  • Node.js-17-xiaoming

    2018-11-29 Express框架 1.Express框架的核心特性。 ①可以设置中间件来响应 HTTP 请...

  • nodeJS搭建web服务器

    1.下载安装express框架 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 定义了路由...

  • Node.js Express框架

    Express可以做什么 web应用框架,提供丰富HTTP工具。可以用来快速搭建网站。Express框架的核心是对...

  • Express的使用整理

    express是基于node.js的web开发框架 express有4个核心,分别是中间件,路由,子应用,易用的A...

  • 理解Express的middleware

    什么是middleware Express有两个核心概念:middleware和routing,也是使得Expre...

  • 基于Express的身份验证中间件原理

    Express基本原理一文中提到,Express的核心是中间件,一切功能都是由中间件完成的。一个http请求从创建...

  • express及常用API

    核心就是中间件 概念 express 是TJ大神用Node.js封装的一个Web框架 核心概念是中间件 编程模型 ...

网友评论

      本文标题:Express 核心

      本文链接:https://www.haomeiwen.com/subject/xvnhtktx.html