nodejs学习笔记
一、基础知识
- 进程与线程。
- 一个程序大于等于1个进程。
- 一个进程通常大于等于1个线程。
- 把奶茶店比作一个程序,
- 奶茶店开门,启动一个进程
- 奶茶店里有多个员工,分别有接待、制作、清洁的工作,对应三个线程。
- 同步与异步
- 同步(fs.writeFileSync());启动进程后,等着所有线程同时做>从上到下一步一步执行的。
- 异步(fs.writeFile());启动进程后,不同线程不同时做>不一样的顺序。
- js代码的执行逻辑
- 执行主线程初始化代码
- 执行任务队列内代码
二、HTTP协议,Hypertext Transfer Protocol
互联网上最广泛的协议,对浏览器与服务器之间的要求。
A浏览器--请求报文-->B服务器
A浏览器<--响应报文--B服务器
-
请求报文
-
响应报文
-
响应状态码
状态码 英文描述 中文描述 说明 200 OK 成功 请求成功,服务器返回了预期的数据。 201 Created 已创建 请求成功且服务器已创建新的资源。 204 No Content 无内容 请求成功处理,但没有返回任何内容。 301 Moved Permanently 永久移动 资源已被永久地移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的URI。 302 Found 临时重定向 请求的资源现在临时从不同的URI响应请求。 400 Bad Request 错误请求 由于语法错误,服务器无法理解该请求。 401 Unauthorized 未授权 当前请求需要用户验证。 403 Forbidden 禁止访问 服务器理解请求但是拒绝执行。 404 Not Found 未找到 服务器找不到对应于请求URI的任何东西。 500 Internal Server Error 内部服务器错误 服务器遇到一个未曾预料的情况,导致了它无法完成对请求的处理。 502 Bad Gateway 错误网关 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 503 Service Unavailable 服务不可用 由于临时的服务器维护或过载,服务器暂时无法处理请求。 -
网络ip
-
端口
- 端口是应用程序的数字标识
- 实现不同主机应用程序之间的通信
- 每个ip有655536个端口,0~655535。
- 一个程序可能有多个端口
三.express
- 响应报文的其他响应
- res.redirect,临时重定向
- res.download,下载响应
- res.json,json响应
- res.sendFile, 发送文件
- 中间件,Middleware
- 本质一个回调函数
- 访问请求对象,响应对象
- 使用函数封装公共操作,简化代码
- 中间件类型,全局(所有人都要通过,如火车站进站口)/路由中间件(普通人安检口、乘务人员安检口)