
node
文章平均质量分 91
Yivisir
一个卑微的前端萌新,正在努力中
展开
-
Axios源码入门解析
Axios源码Axios的特性从浏览器中构建XMLHttpRequests对象从node中构建http请求支持promise拦截请求和响应,对数据做转换、封装等操作可以取消请求自动转化JSON格式客户端可以支持CSRF(伪造跨域请求)Axios类源码Axios的类源码如下:function Axios(instanceConfig) { this.defaults = instanceConfig; this.interceptors = { // 处理请求的原创 2021-10-13 21:04:59 · 202 阅读 · 0 评论 -
Node:进程学习笔记
九、进程1. 多进程架构Node提供了child_process模块,并提供了child_process.fork()函数供我们复制进程。下面来看看一个例子:// worker.jsconst http = require('http');http.createServer((req,res)=>{ res.writeHead(200,{ 'Content-Type' : 'text/plain' }) res.end('hello,worl原创 2021-08-10 17:07:02 · 155 阅读 · 0 评论 -
Node:Web应用学习笔记
八、Web应用1. 基础1.1 CookieCookie的处理分为几步:服务器向客户端发送Cookie;浏览器将Cookie保存;之后每次浏览器都会将Cookie发送到服务器端。由于Cookie的实现机制,当服务器端向客户端发送了设置Cookie的意图,除非Cookie过期,否则客户端每次发送请求都得带上Cookie,当设置的Cookie过多,会导致报头过长,浪费了部分带宽。1.2 SessionSession的数据保存在服务器端,客户端无法随意修改,这样数据的安全性能够原创 2021-08-10 17:06:03 · 116 阅读 · 0 评论 -
Node:网络编程随记
七、网络编程Node提供了net,dgram,http,https模块,分别用来处理TCP、UDP、HTTP、HTTPS,适用于服务器端和客户端。1. 构建TCP服务TCP全称为传输控制协议,作用于传输层。OSI模型:应用层:HTTP、SMTP、IMAP等表示层:加密、解密会话层:通信连接、维持通话传输层:TCP、UDP网络层:IP链路层:网络特有的链路接口物理层:网络物理硬件许多应用层协议基于TCP构建,如HTTP、SMTP、IMAP等。在TCP创建会话的原创 2021-07-16 10:03:55 · 136 阅读 · 0 评论 -
Node:Buffer
六、Buffer1. Buffer结构1.1 模块结构buffer的性能相关部分用C++实现,非性能部分用JavaScript实现;Node在进程启动时就已经加载了,并将其放在全局对象。1.2 Buffer对象Buffer类似与数组,他的元素未16进制两位数。不同编码所占的元素个数不相同,UTF8编码下一个中文字符占三个元素,字母和半角标点占一个字符。可以通过buffer.length来获取Buffer对象的长度。如果给Buffer元素赋值0-255以外的值,Buffer就会对其连续原创 2021-07-04 21:40:47 · 420 阅读 · 0 评论 -
Node:内存控制学习笔记
五、内存控制基于无阻塞,事件驱动建立的Node服务,具有内存消耗低的优点,非常适合处理海量的网路请求,而内存控制就是在海量网络请求和长时间运行的前提下探讨的。1. V8的垃圾回收机制与内存限制与Java一样,JavaScript由垃圾回收机制来及逆行自动内存管理。1.1 V8的内存限制Node通过JavaScript只能使用部分的内存:64位系统下为1.4GB,32位系统下位0.7GB。在这样的限制下,Node无法直接操作大内存对象,比如无法将一个2GB的文件读入内存进行字符串分析处理原创 2021-06-08 10:35:52 · 376 阅读 · 2 评论 -
Node:异步编程学习笔记
四、异步编程1. 函数式编程1.1 高阶函数高阶函数是指能够把函数当作参数,或者将函数作为返回值的函数:function foo(x) { return function (){ return x; }}对于程序编写而言,高阶函数比普通函数要更加灵活。除了通常的函数调用返回外,还形成了一种后续传递风格的结果接收方式。后续传递风格的程序编写将业务重点从返回值转移到了回调函数中:function foo(x,bar) { return原创 2021-05-22 16:35:37 · 116 阅读 · 0 评论 -
Node:异步I/O学习笔记
三、异步I/O1. 推行异步的原因在浏览器中,JavaScript在单线程中执行,且与UI渲染公用一个线程,这就会出现JavaScript在执行时,UI渲染和响应处于停滞状态的现象;如果脚本执行时间超过100ms,用户就会感觉到页面卡顿,而在BS模型中,网速的限制会给网页的体验造成很大干扰。因此,前端采用异步的方式可以解决UI渲染阻塞的问题,但响应也却决于服务器的速度。**同样的任务t1~tn,同步的执行时间T=t1+t2+…+tn,而异步的执行时间为Max(t1,t2,…,tn)。**因此,随原创 2021-04-26 21:42:14 · 168 阅读 · 0 评论 -
Node:模块机制学习笔记
模块机制1. CommonJS1. 模块规范a. 模块引用在CommonJS中,存在require()方法,接收模块标识,以此引入一个模块的API到当前模块中。b. 模块定义对应引入功能,上下文提供了exports对象用于导出当前模块的方法或者属性,并且是唯一的出口。在模块中,module对象代表模块自身,而exports是module的属性。在Node中,一个文件就是一个模块,将方法挂载在exports对象上作为属性即可定义导出的方式。c. 模块标识模块标识其实就是传递给re原创 2021-04-19 22:12:56 · 157 阅读 · 0 评论