nodejs

225 阅读3分钟

本文已参与 「新人创作礼」活动, 一起开启掘金创作之路。

Snipaste_2022-04-28_21-05-34.png

R-C.jpg

13- nodejs 服务器的相关概念

  1. 服务器就是提供网络服务的机器, 通过安装软件或是执行某段代码来提供服务。
  2. 服务器, 客户端: 提供服务的就是服务器, 享受服务的就是客户端。
  3. 查看本机 ip 地址 ipconfig // 格式: [0-255].[0-255].[0-255].[0-255]
  4. DNS 域名解析: 与就是把域名解析成 ip 地址
  5. 端口: http: 80; https: 443; mysql: 3306
  6. http 协议: 超文本传输协议 浏览器 请求 资源 要遵守 http 协议: 请求报文(请求行, 头,请求体) 服务器 返回 资源 要遵守 http 协议: 响应报文(响应行,响应头,响应体)
  7. 浏览器输入网址, 通过 DNS 解析: 把域名--> ip 然后浏览器按照 ip 地址请求资源, 发送请求到服务器。然后服务器检查端口、找到服务程序、处理请求并返回。响应给浏览器浏览器展示页面。

14- nodejs 原生服务器

  1. 实现服务器的功能: 引入 http fs; const http = require('http'); const fs = require('fs') 创建服务:const server = http.createServer(function(require, res) { let {url} = require if(url === '/index.html' || url === '/') { const content = fs.readFileSync('./index.html', 'utf8') res.end(content) } else if( url === '/index.css' ) { const content = fs.readFileSync('./index.css', 'utf8') res.setHeader('Content-Type', 'text/html; charset=UTF-8'); // 设置编码格式 // css: 'text/css; charset=UTF-8' // js: 'application/javascript' // png: 'image/png' // json数据: 'application/json; charset=UTF-8' res.end(content) } else { res.end('hello') } } // 3. 启动服务 server.listen(8082, function() { console.log('服务器启动成功,请在http://localhost:8082中访问....'); });
  2. 运行代码启动服务: node 文件名
  3. 访问服务测试功能: 访问地址 http://localhost:8082
  4. require: url 路径; res: res.end(content)(访问的返回); res.setHeader(设置格式)

15- statusCode/ content-type的作用

  1. statusCode: 就是响应的状态码: 格式: res.statusCode = 301 // (重定向到)res.setHeader('location','www.qq.com')
  2. content-type: 就是用来告诉本次传输的数据是什么类型 res.setHeader('Content-Type', 'text/html; charset=UTF-8') // css: 'text/css; charset=UTF-8' // js: 'application/javascript' // png: 'image/png' // json数据: 'application/json; charset=UTF-8' 请求头就是告诉服务器请求体中的参数是什么格式; 请求体就是可以携带大量参数.例如文件上传; 请求行可以携带少量参数。例如查询字符串

16- 二次请求

  1. 就是请求的 html 地址中还存在着引入的文件(js/css/json等)、图片等等

17- express 框架的使用

  1. npm init -y 初始化; npm i express 下载
  2. 项目里面引入: const express = require('express')
  3. 创建服务器: let app = express()
  4. 开启服务器: app.use(express.static('public'))
  5. 设置端口服务: app.listen(8022, () => console.log('?????????'))

18- express 利用框架书写 get 接口 // 引入 express const express = require('express') // 创建服务器 let app = express() // 设置请求方法、路径、 app.get('/api/getbooks',(req, res) => { console.log(req.query); // res.statusCode = 200 res.send([{id: 1, bookname: '西游记', author: '吴承恩', publisher: '北京图书出版社'},{id: 2, bookname: '红楼梦', author: '曹雪芹', publisher: '上海图书出版社'},{id: 3, bookname: '三国演义', author: '罗贯中', publisher: '北京图书出版社'}]) }) app.listen('8005', () => { console.log('我的端口: 192.168.87.180:8005') })