• Node的api


    process.argv

    在这里插入图片描述

    创建一个文件

    touch index.js
    
    • 1

    删除文件

    rm -rf index.js
    rm -rf www
    
    • 1
    • 2

    npm的淘宝镜像

    用npm去下载cnpm包,指定源为https://registry.npmmirror.com

    npm install -g cnpm --registry=https://registry.npmmirror.com
    
    • 1

    下一次使用cnpm i axios去装包时,他会默认指定registryhttps://registry.npmmirror.com

    npm官网

    npm使用文档

    进程

    process.stdin.on("data",e=>{
        const res = e.toString().trim()
        console.log(res+":"+res);
        if(res == 3) {
            process.exit()
        }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    node 运行示意图

    在这里插入图片描述

    nodejs的非阻塞I/O

    1. I/O 就是Input/Output,一个系统的输入和输出
    2. 阻塞I/O和非阻塞I/O的区别就在于系统接受输入再到输出期间,能不能接受其他输入。
      在这里插入图片描述

    事件循环

    在这里插入图片描述

    async await

    1. async 是promise语法糖封装
    2. 异步编程的终极解决方案,以同步方式写异步
      1. await关键字可以暂停 async function 的执行
      2. await关键字可以以同步的写法获取Promise执行结果
      3. try-catch 可以获取await所获得的错误
        在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    什么是http服务?

    在这里插入图片描述

    1. http要做什么事情?
      1. 解析进来的http请求报文
      2. 返回对应的http返回报文

    node启动一个http服务器

    在这里插入图片描述

    打开浏览器 访问localhost:3000
    在这里插入图片描述
    于是打印出request.url 会有两个结果,一个是/ 一个是/favicon.ico

    http 返回一个html页面

    在这里插入图片描述

    内置模块url.parse

    在这里插入图片描述

    内置模块querystring

    在这里插入图片描述

    内置模块url.URL

    在这里插入图片描述

    express

    在这里插入图片描述

    koa

    1. 核心功能比express更加极致,request/response简化
      1. ctx.status = 200
      2. ctx.body = “hello”
    2. express vs koa
      1. express门槛更低,koa更强大优雅
      2. express封装更多东西,开发更快速,koa可定制性更高
        在这里插入图片描述

    rpc调用

    1. remote procedure call (远程过程调用)
    2. 和ajax有什么相同点
      1. 都是两个计算机之间的网络通信
      2. 需要双发约定一个数据格式
    3. 和ajax有什么不同点
      1. 不一定使用dns作为寻址服务
      2. 应用层协议一般不使用http
      3. 基于tcp或udp协议
    4. 寻址、负载均衡
      1. ajax:使用dns进行寻址在这里插入图片描述

      2. rpc:使用特有服务进行寻址 在这里插入图片描述

    5. tcp通信方式
      1. 单工通信,只能由一方 发数据 给 另一方
      2. 半双工通信,可以从左到右,可以从右到左,但是不可以同时进行
      3. 全双工通信 ,可以从左到右,可以从右到左,可以同时进行
    6. 二进制协议
      1. http协议通信用html,或者json,人类好理解,但是计算机不好理解
      2. rpc用二进制协议,更小的数据包体积,更快的编解码速度

    Nodejs net搭建多路复用的rpc通道

  • 相关阅读:
    网络安全(黑客)——2024自学
    Spring Boot 常见面试题
    【网站项目】“最多跑一次”小程序
    国产操作系统之优麒麟安装
    windows系统使用docker-compose
    Python GUI案例之看图猜成语开发(第三篇)
    进入IT行业:选择前端开发还是后端开发?
    spring 微服务nacos未授权访问漏洞修复
    【无重复字符的最长子串--三种方法】
    c++ 高效使用vector(面试)
  • 原文地址:https://blog.csdn.net/formylovetm/article/details/126508279