
node
文章平均质量分 75
静水流深,沧海一粟
皆是人间惆怅客,且有岁月可回头
展开
-
NodeJs 第二十七章 进程和线程
进程是计算机运行程序的实例,它是操作系统对一个正在运行中的程序的抽象。每个进程都有自己的地址空间,包括代码、数据、堆栈等,以及运行时所需的资源,如打开的文件、设备等。进程是操作系统进行资源分配和调度的基本单位,它可以独立运行、中断和恢复。一个应用程序,总是通过操作系统启动的,当操作系统启动一个应用程序时,会给其分配一个进程一个进程拥有内存空间,原则上不受其他进程干扰。进程之间是可以通信的,只要两个进程双方遵守一定的协议,比如ipc。原创 2024-03-01 10:10:57 · 976 阅读 · 0 评论 -
NodeJs 第二十六章 Node组成原理
Node.js是一个开源的、跨平台的JavaScript运行环境,依赖于Google V8引擎,用于构建高性能的网络应用程序。Node.js采用事件驱动、非阻塞I/O模型,使得它能够处理大量并发连接,适用于构建实时应用、高吞吐量的后端服务和网络代理等。Node.js广泛应用于Web开发、服务器端开发、实时通信、大数据处理等领域,被许多大型互联网公司和开发者使用和推崇。原创 2024-02-23 17:38:28 · 414 阅读 · 0 评论 -
NodeJS 第二十五章 XSS攻击和防御
是一种常见的网络安全漏洞,攻击者通过注入恶意脚本代码到受信任的网站中,使用户在访问该网站时执行该恶意代码。这种攻击通常发生在用户与网站交互的地方,如表单输入、评论框等。原创 2024-02-22 08:00:00 · 1092 阅读 · 0 评论 -
NodeJs 第二十四章 CSRF攻击和防御
跨站请求伪造是一种攻击,它迫使最终用户在其当前经过身份验证的 Web 应用程序上执行不需要的操作,例如转移资金、更改电子邮件地址等。例如,这些非预期请求可能是通过在跳转链接后的 URL 中加入恶意参数来完成:对于在 https://www.baidu.com 有权限的用户,这个标签会在他们根本注意不到的情况下对 https://www.baidu.com 执行这个操作,即使这个标签根本不在 https://www.baidu.com 内亦可。:恶意网站把作为,通过模拟正常用户的操作,攻击其的站点。原创 2024-02-21 11:06:46 · 899 阅读 · 0 评论 -
NodeJs 第二十三章 客户端缓存
最后,通过客户端和服务器两位大佬的视角,来总结一下以上内容。原创 2024-01-23 08:00:00 · 2093 阅读 · 0 评论 -
NodeJs 第二十二章 二维码
每个版本具有不同的容错能力,即可以容忍一定程度的损坏或污损而不影响信息的读取。是由一系列矩阵点(通常是白色或黑色的点)组成的图形,用于存储和传输信息。:适用于包含数字和一些字符的数据的编码模式,能够编码数字0到9,大写字母A到Z,以及一些符号字符。:适用于包含任意字符的数据的编码模式,能够编码所有的ASCII字符和部分非ASCII字符。:适用于包含一些特定的日文汉字字符的数据的编码模式,能够编码部分汉字字符。:适用于纯数字数据的编码模式,能够编码0到9的数字。取值范围是 1~40的数字。原创 2024-01-22 11:47:47 · 878 阅读 · 0 评论 -
NodeJs 第二十一章 模版引擎
是一种用于生成动态网页的工具。它将静态的模板文件与动态的数据源相结合,生成最终的网页。模板引擎通常用于Web开发中,可以方便地将数据动态地插入到页面中,从而生成具有动态内容的网页。,开发者可以将网页的结构和内容分离开来,提高代码的可维护性和复用性。同时,模板引擎也提供了一种易于理解和使用的方式来生成动态网页,降低了开发的难度和复杂度。这些引擎提供了丰富的语法和功能,以满足不同的需求。它们通常支持循环、条件判断、过滤器等功能,使开发者能够更方便地进行网页开发。,不使用框架,属于早期前后端未分离的开发模式。原创 2024-01-22 10:34:41 · 479 阅读 · 0 评论 -
NodeJs 第二十章 代理
但是在浏览器发送ajax 到服务端,服务端响应到浏览器会出现跨域。这个时候就需要配置代理,node 此时就可以充当这个角色。是一种中间服务,能够代理用户与网络资源之间的通信。代理服务器可以缓存网页内容、过滤网络流量或隐藏用户的真实IP地址等功能。在日常开发中,我们接触最多的是客户端发送ajax到服务端。创建了一个开发服务,充当代理角色。这个代理服务主要是利用。我们的感知是从客户端直接发送。中间件,实现代理服务器。原创 2024-01-21 17:34:55 · 723 阅读 · 0 评论 -
NodeJs 第十九章 防盗链
防盗链(Hotlinking)指的是一种网站技术,用于阻止其他网站直接链接到自己的资源(如图片、音频、视频等),而是强制让访问者访问资源所在网站。防盗链的目的是保护资源的安全性和减少带宽消耗。可以通过设置服务器的HTTP头部信息来实现。服务器可以检查请求来源的HTTP头部中的Referrer字段,如果该字段为空或与自己的域名不匹配,服务器可以拒绝提供资源。还可以减少带宽消耗,因为资源只能通过原始网站访问,而不是被其他网站直接链接。有助于防止其他网站未经许可使用自己的资源,从而保护了原始网站的权益。原创 2024-01-21 09:23:12 · 698 阅读 · 0 评论 -
NodeJs 第十八章 图片水印
图片处理是一个专业的事情。秉承着专业的事情就要交给专业的人处理。所以我们就要站在巨人的肩膀上去处理问题。是一个完全用JavaScript为Node编写的图像处理库,没有外部依赖。本示例是将一张图片作为我们目标图片的水印。原创 2024-01-20 23:17:15 · 888 阅读 · 0 评论 -
NodeJs 第十七章 文件上传
前端上传文件有两种方式FormData</</</</</FormDataFormDataappend()FormData是一种在HTTP传输协议中用于在Web表单中传输文件的编码方式。它是一种灵活的编码方式,能够同时处理表单中的多个字段和文件上传。在编码中,表单中的每个数据字段都被封装成一个消息体,并以一定的分隔符分隔消息体。这个编码方式使用了类似于的格式,但主要用于表单数据的传输。每个消息体包含一个字段名称和字段值,以及一个可选的文件上传字段。当使用。原创 2024-01-18 17:30:26 · 2155 阅读 · 0 评论 -
NodeJs 第十六章 JWT
jwt全称,强行翻译过来就是json格式的互联网令牌它要解决的问题,就是为多种终端设备,提供统一的、安全的令牌格式因此,jwt只是一个令牌格式而已,你可以把它存储到cookie,也可以存储到localstorage,没有任何限制!同样的,对于传输,你可以使用任何传输方式来传输jwt,一般来说,我们会使用消息头来传输它...set-cookie:token=jwt令牌authorization:jwt令牌...{..., token:jwt令牌}原创 2024-01-17 10:00:00 · 1266 阅读 · 0 评论 -
NodeJs 第十五章 session
在计算机科学领域来说,尤其是在网络领域,会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,session在网络协议(例如telnet或FTP)中是非常重要的部分。Session代表服务器和客户端一次会话的过程。中间件进行 session操作。原创 2024-01-16 17:14:59 · 540 阅读 · 0 评论 -
NodeJs 第十四章 JSONP 和 CORS
在跨域访问时,JS只能拿到一些最基本的响应头,如:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma,如果要访问其他头,则需要服务器设置本响应头。当浏览器看到服务器允许自己访问后,高兴的像一个两百斤的孩子,于是,它就把响应顺利的交给js,以完成后续的操作。服务器收到预检请求后,可以检查预检请求中包含的信息,如果允许这样的请求,需要响应下面的消息格式。这是一个预检请求,它的目的是询问服务器,是否允许后续的真实请求。原创 2024-01-16 11:14:47 · 1109 阅读 · 0 评论 -
NodeJs第十三章 cookie
以上,就是cookie原理部分的内容。登录请求浏览器发送请求到服务器,附带账号密码服务器验证账号密码是否正确,如果不正确,响应错误,如果正确,在响应头中设置cookie,附带登录认证信息(至于登录认证信息是设么样的,如何设计,要考虑哪些问题,就是另一个话题了,可以百度 jwt)客户端收到cookie,浏览器自动记录下来后续请求浏览器发送请求到服务器,希望添加一个管理员,并将cookie自动附带到请求中。原创 2024-01-15 10:56:48 · 1694 阅读 · 0 评论 -
NodeJs 第十二章 nodemon
是一个监视器,用于监控工程中的文件变化,如果发现文件有变化,可以执行一段脚本。正在运行时,如果您需要手动重新启动应用程序,您可以输入。并且可以位于当前工作目录或主目录中。本章节只介绍基础用法,深入学习请参考。支持本地和全局配置文件,通常被命名。,并使用这个值作为启动程序。选项指定替代的本地配置文件。,而不是停止并重新启动。将重新启动您的进程。原创 2024-01-14 22:09:43 · 605 阅读 · 0 评论 -
NodeJs 第十一章 express
是可以访问请求对象( req)、响应对象( res) 以及next应用程序请求-响应周期中的函数。该next函数是 Express 路由器中的一个函数,当被调用时,它会执行当前中间件之后的中间件。路由指的是确定应用程序如何响应对特定端点的客户机请求,这是一个URI(或路径)和一个特定的HTTP请求方法(GET、POST等)。可以将路由器创建为一个模块,在其中加载一个中间件函数,定义一些路由,并将路由器模块挂载到主应用的某个路径上。每个路由都可以有一个或多个handler函数,这些函数在匹配路由时执行。原创 2024-01-13 17:10:04 · 1159 阅读 · 0 评论 -
NodeJs 第十章 日志记录
日志在Web应用中是必不可少的,在系统调试或运行出现异常时,可以通过日志来进行排查,甚至利用日志可以进行数据统计。level:日志级别(例如调试日志、信息日志、错误日志等等)category:日志分类(例如:sql日志、请求日志等等)appender:日志出口。原创 2024-01-09 18:15:39 · 675 阅读 · 0 评论 -
NodeJs 第九章 MD5加密
加密,可以将任何一个字符串加密成一个固定长度的字符串。加密之后的字符串无法解密。同样的原字符串加密后会得到固定的结果。我们在进行数据库操作时,有些数据不应该是明文显示,例如密码。我们需要使用一种加密手段,保护用户的信息安全。原创 2024-01-08 18:09:57 · 1309 阅读 · 0 评论 -
NodeJs 第八章 数据抓取(爬虫)
爬虫首先会爬取初始 URL 网页信息,随后进行解析,从中获取新的 URL 地址,存放到爬取的 URL 队里中,爬取到的网页会被存储到原始数据库中。在编写爬虫时,要设置爬取停止规则,当爬虫系统满足设置的停止规则时,爬虫会停止爬取。由于爬虫对 URL 访问量较大,HTTP 请求率高,对特定文件类型请求较多,对于一些无法识别的爬虫,可以基于请求速率、访问量、请求方法等进行算法识别。另外,识别恶意爬虫的常用策略是进行黑名单匹配,但爬虫会经常更换 IP 地址,需要精细地分析爬虫行为,判断爬虫的行为动机。原创 2024-01-08 09:53:01 · 1374 阅读 · 0 评论 -
NodeJs 第六章 简单了解数据库(MySql)
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据结构化查询语言。大部分关系型数据,拥有着基本一致的SQL语法。数据定义语言,操作数据库对象的库表视图存储过程数据操控语言, 操作数据库中的记录数据控制语句, 操作用户权限。原创 2024-01-07 21:48:42 · 1052 阅读 · 0 评论 -
NodeJs 第七章 ORM
对象关系映射。通过ORM框架,可以自动的把程序中的对象和数据库关联。框架会隐藏具体的数据库底层细节,让开发者使用同样的数据操作接口,完成对不同数据库的操作。原创 2024-01-07 22:11:10 · 639 阅读 · 0 评论 -
NodeJs 第五章 模块化
在 ESM 中,import 语句用于在解析代码时导入模块依赖的静态链接。文件的依赖关系在编译阶段就确定了。在包装器执行之前,模块内的导出内容是不确定的。除此之外,第一次加载的模块会被缓存到 Module._cache中。require 函数接收一个代表模块ID或者路径的值作为参数,它返回的是用。起开始支持 ES Modules 特性, 控制台需要。起开始正式支持 ES Modules 特性, 不需要。2. Instantiation (实例化、建立链接)3. Evaluation (执行)原创 2023-12-29 18:12:01 · 1151 阅读 · 0 评论 -
NodeJs 第三章 文件I/O、文件流
流是指数据的流动,数据从一个地方缓缓的流动到另一个地方流是有方向的可读流: Readable(数据从源头流向内存)可写流: Writable(数据从内存流向源头)双工流:Duplex(数据即可从源头流向内存又可从内存流向源头)为什么需要流其他介质和内存的数据规模不一致其他介质和内存的数据处理能力不一致。原创 2023-12-26 17:14:49 · 1129 阅读 · 0 评论 -
NodeJs 第二章基本内置模块
可能的值为 ‘arm’、‘arm64’、‘ia32’、‘loong64’、‘mips’、‘mipsel’、‘ppc’、‘ppc64’、‘riscv64’、‘s390’、‘s390x’ 和 ‘x64’。当找到多个连续的路径片段分隔符(例如 POSIX 上的 / 和 Windows 上的 \ 或 /)时,则它们将被平台特定路径片段分隔符(POSIX 上的 / 和 Windows 上的 \)的单个实例替换。零长度的 path 片段被忽略。如果连接的路径字符串是零长度字符串,则将返回 ‘.’,表示当前工作目录。原创 2023-12-26 16:33:23 · 997 阅读 · 0 评论 -
NodeJs第一章 概述
Node 是 JS 的一个运行环境,原创 2023-12-23 17:15:03 · 477 阅读 · 0 评论 -
Nodejs 多线程
进程是资源分配的最小单位,线程是CPU调度的最小单位“进程——资源分配的最小单位,线程——程序执行的最小单位”线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成,线程与同属一个进程的其他的线程共享进程所拥有的全部资源。一个进程下面的线程是可以去通信的,共享资源进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。原创 2023-10-25 17:57:01 · 1146 阅读 · 0 评论 -
浏览器和node事件循环
为了协调事件(event),用户交互(user interaction),脚本(script),渲染(rendering),网络(networking)等,用户代理(user agent)必须使用事件循环(event loops)。事件:PostMessage, MutationObserver等用户交互: click, onScroll等渲染: 解析dom,css等脚本:js脚本执行浏览器js的作用是操作DOM,这决定了它只能是单线程,否则会带来很复杂的同步问题。原创 2023-10-20 13:23:41 · 194 阅读 · 0 评论 -
Nodejs 构建http服务
TCP 和 UDP 都属于网络传输层协议,如果要构建高效的网络应用,就应该从传输层进行着手。但是对于经典的浏览器网页和服务端通信场景,如果单纯的使用更底层的传输层协议则会变得麻烦。所以对于经典的B(Browser)S(Server)通信,基于传输层之上专门制定了更上一层的通信协议:HTTP,用于浏览器和服务端进行通信。由于 HTTP 协议本身并不考虑数据如何传输及其他细节问题,所以属于应用层协议。Node 提供了基本的 http 和 https 模块用于 HTTP 和 HTTPS 的封装。原创 2023-10-16 17:40:23 · 195 阅读 · 0 评论 -
Nodejs 构建 UDP 服务
User Datagram Protocol,简称 UDP ,又称用户数据报协议和 TCP 一样,位于网络传输层用于处理数据包UDP 最大的特点是无连接UDP 传输速度快UDP 数据传输不可靠不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的可靠性由应用层负责支持一对一通信,也支持一对多通信许多关键的互联网应用程序使用 UDP如 DNS 域名系统服务、TFTP 简单文件传输协议、DHCP 动态主机设置协议 等。原创 2023-10-16 16:13:02 · 532 阅读 · 0 评论 -
Nodejs 构建 TCP 服务
TCP 服务在网络应用中十分常见,目前大多数的应用都是基于TCP搭建而成的。TCP 全名为传输控制协议,在 OSI 模型(由七层模型,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)中属于传输层协议。许多应用层协议基于TCP构建,典型的是HTTP、SMTP、IMAP等协议。TCP 是面向连接的协议,其显著的特征是在传输之前需要3次握手形成会话,如下图所示只有会话形成之后,服务器端和客户端之间才能互相发送数据。原创 2023-10-16 15:57:48 · 224 阅读 · 0 评论