首页
学习
活动
专区
圈层
工具
发布

【Node.JS 】http的概念及作用

往期文章 【Node.JS 练习】时钟案例 【Node.JS 】path路径模块 【Node.JS 练习】考试成绩整理 【Node.JS】buffer类缓冲区 【Node.JS】事件的绑定与触发...【Node.JS】写入文件内容 【Node.JS】读取文件内容 ---- 什么是http模块 在网络节点中,负责消费资源的电脑,叫做客户端,负责对外提供网络资源的电脑,叫做服务器。...http模块是Node.js官方提供的,用来创建web服务器的模块,通过http模块提供的http.createServer()方法,就能方便的把一台普通的电脑,编程一台web服务器,从而对外提供Web...const http = require('http'); http模块的作用 服务器和普通电脑的区别在于,服务器上安装了web服务器软件,例如:lls Apache等。...不过这些东西 都不是我们前端程序员用的,在我们Node.js中,我们不需要使用lls,Apache等这些第三方web服务器软件,因为我们可以基于Node.js提供的http模块,通过几行简单的代码,就能轻松的手写一个服务器软件

87010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    什么是Node.js,它有什么作用,可以干啥呢?

    Node.js:一个基于Chrome V8引擎的JavaScript运行环境 Node.js是一个开源的、跨平台的JavaScript运行环境,用于在服务器端运行JavaScript代码。...Node.js的主要作用是提供一个事件驱动、非阻塞式I/O模型,使得JavaScript能够高效地处理大量并发请求。...这使得Node.js可以高效地处理大量并发请求,并且具有非常高的性能。 单线程:Node.js采用单线程模型,可以避免多线程编程中的线程安全问题。...同时,由于Node.js的事件循环机制,可以处理大量的并发请求。...在使用Node.js的过程中,开发人员需要注意一些问题。首先,由于Node.js是单线程的,如果存在长时间运行的计算任务或者I/O阻塞,可能会影响整个应用程序的性能。

    1.9K10

    【Node.js】初识Node.js

    Node.js架构 ?   1. Node.js跨平台支持*nix与Windows得益于Libuv中间层,通过它去调用不同操作系统的底层操作。   2....Node.js底层由C++实现,因此可以编写C++扩展模块,经封装后由JS调用,这样可以解决需要提升性能时(例如频繁的位运算,JavaScript的一个弱点是位运算,由JS来做性能低),就可以编写C++...Node.js特点   1. 单线程     优点:无需像多线程编程在意状态的同步问题,因此无死锁问题,也避免了线程上下文切换带来的性能开销   2....初学网络编程 Node.js标准库提供了http模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端。...客户端在发起安全连接前会去获取服务器端的证书,并通过CA的证书验证服务器端证书的真伪。 四. Node.js学习资料   1. 《Node.js入门指南》,推荐,适合入门   2.

    23.7K90

    【node.js】node.js的安装和配置

    文章目录 前言 下载和安装 Path环境变量 测试 推荐插件 总结 ---- 前言 Node.js是一个在服务器端可以解析和执行JavaScript代码的运行环境,也可以说是一个运行时平台,仍然使用JavaScript...---- 下载和安装 Node.js的官方网址是https://nodejs.org,进入官方网址,可以看到两个版本的安装包,LTS是长期稳定版,Current是最新版。...进入Path,就可以看到Nodejs的环境变量啦 测试 接下来,我们进行一个测试,创建一个1.js文件,输入console.log("Hello World!")并保存。...找到文件保存的路径,在路径框输入cmd,单击回车,会直接进入该文件夹中。接着输入node 1.js,终端成功输出“Hello World!”...推荐插件 这里推荐一个可以快速运行node的插件,快速运行调试代码——code runner。 运行代码:使用快捷键Ctrl+Alt+N,或者按F1然后选择Run Code。

    10K30

    【Node.js】如何调试你的 Node.js 代码?

    很多时候,我苦恼于 Node.js 的调试,只会使用 console.log 这种带有侵入性的方法,但是其实 Node.js 也可以做到跟浏览器调试一样的方便。...这个链接是 Node.js 和 Chrome 之前通信的 websocket 地址,通过 websocket 通信,我们可以在 Chrome 中实时看到 Node.js 的结果。...], "program": "${workspaceFolder}/index.js" } ] } 按 F5、或者点击如下按钮: 结果: 可以看到,在左侧可以显示当前作用域的值...总结 本文总结了两种常见的调试 Node.js 的方式。第一种 Node.js 通过 websocket 的方式将信息传递给 Chrome 浏览器,我们直接在 Chrome 中进行调试。...通过 Attach to Node Process Action 的方式,可以便捷的调试正在运行的 Node.js 代码,而不需要配置。

    9.1K10

    Node.js

    Node.js Node.js是一个基于Chrome V8引擎的JavaScript运行环境 浏览器是JavaScript的前端运行环境 Node.js是JavaScript的后端运行环境 Node.js...(推荐LTS版本) 查看版本:node-v 终端命令 执行代码:node app.js fs文件系统模块 fs模块是Node.js官方提供的、用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件的需求...http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。...中的模块化 Node.js中根据模块来源不同,将模块分为3个大类: 内置模块:内置模块是由Node.js官方提供的,例如fs、path、http等 自定义模块:用户创建的每个.js文件,都是自定义模块...模块作用域 和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域。

    8.7K20

    Node.js的介绍

    Node.js Node.js是Ryan Dahl在2009年发布的、主要用于服务器端的Javascript运行环境,也可以用于个人电脑。...但Node.js的多线程与常规的多线程有很大区别——常规语言的多线程允许多个线程共享数据,或者调用其他线程暴露出来的公开方法,而Node.js的多线程只能用消息机制进行通讯。...得益于其模块特性,Node.js的模块扩展变得相当方便,用于Node.js包管理的npm得到了广泛的使用,但也曾经引起“是否过度使用依赖包”的争论。...这不仅仅是因为依托于浏览器这个宿主环境,更是因为其自身具备的一些优秀特性,Node.js的出现与发展就是一个很好的例证。 总结 ajax与Node.js都使用了js的异步回调特性。...由于Node.js不包含BOM与DOM,因此jQuery不能直接在Node.js上使用,但可以借助jsdom、cheerio之类的库,在构造出虚拟的dom结构后再使用。

    1.9K00

    js中的作用域

    前言 相信自从es6出来之后,你一定多少知道或者已经在项目中实践了部分的块级作用域,在函数或者类的内部命名变量已经在使用let了,但是你知道它真正的作用是什么吗?...又是因为什么我们要用这个块级作用域,本文与你一起探讨块级作用域的场景以及所有细节问题。...es6之前的作用域 特点1 :js只有函数级作用域以及全局两种 特点2 :不通过var声明的变量直接赋值也可以用并且可以访问,原理是直接赋值到了window对象属性变量下,两者如果同时定义,那么会覆盖使用...块级作用域 场景一 循环中的块级作用域 如果我们有一个遍历循环的绑定事件,并且需要把当前的指针绑定到对应方法中。...参考文档 前端技术文档-兵哥技术集锦,es6入门 let-mdn文档 变量提升-菜鸟教程 学习js闭包-阮一峰博客

    4K20

    JS作用域

    JavaScript的作用域有全局作用域和局部作用域 先通过一下代码来体验下作用域 var x = 1; function f1(){ var y = 2; x = 10; console.log...ReferenceError: y is not defined at :7:13 上述代码中变量x就是全局作用域,方法f1的作用域也是全局,f1方法中的变量y是局部的,y的作用范围仅限f1方法体内...,离开了f1的方法体的作用范围,就无法获取到y的值,所以上述的例子中最后打印y的时候是undefined 我们再来看下面的例子 var a = 1; function f1(){ console.log...a,当前a的值为undefined 4-3)定义局部变量c,当前c的值为undefined 4-4)给局部变量b进行赋值,使用2*a表达式的结果进行赋值,由于a的值为undefined,...所以b的值为NaN(Not a Number) 4-5)给局部变量a赋值为20 4-6)给局部变量c进行赋值,使用a+1表达式的结果进行赋值,由于上一步局部变量a的值为20,所以a+1的表达式的值为

    77910

    【Node.js】你真的了解 Node.js 么

    最近笔者在阅读《深入浅出Node.js》,结合查阅的相关资料,本文算是一篇 Node.js 笔记。 Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境。...在 Node.js 出现之前,JavaScript 只能在浏览器中使用。而 Node.js 的出现打破了这个局面。以下为 Chrome 浏览器和 Node.js 的组件构成。...浏览器和 Node.js 的结构是相似的,比如它们都是通过事件驱动的异步架构,浏览器通过事件驱动来完成界面 UI 交互,Node.js 通过事件驱动完成服务 I/O。...Node.js 特点 异步I/O和事件驱动 在 Node.js 中,大部分的 I/O 操作都是异步,非阻塞的。也就是不需要等待该操作完成,就可以接着进行下一步的操作。...这也是 Node.js 能够处理高并发的重要原因。在 Node.js 中,一个 8GB 内存的服务器,可以同时处理超过 4 万用户的连接。 单线程其实是有弊端的(后文适合场景中会指出)。

    6K10

    Node.js 的核心模块

    Node.js 的的核心模块 Node为JavaScript提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中了。...例如文件操作的fs核心模块,http服务构建的http模块,path 路径操作模块、os 操作系统信息模块等 以后只要说这个模块是一个核心模块,就要马上想到如果想要使用它,就必须: var fs = require...(‘fs’) var http = require('http') 在node中文网就可以找到这些模块:http://nodejs.cn/api/ 案例:获取OS的一些信息 // 用来获取机器信息的 var...os = require('os') // 获取当前机器的 CPU 信息 console.log(os.cpus()) 出现了八个模块,代表是八核 ?...上面的单位是字节,除以1024,约等于8G内存大小 案例:获取用来操作路径的信息 // 用来操作路径的 var path = require('path') // 获取一个路径中的扩展名部分 console.log

    1.4K40
    领券