为了账号安全,请及时绑定邮箱和手机立即绑定

进击Node.js基础(一)

Scott 全栈工程师
难度中级
时长 3小时27分
学习人数
综合评分9.50
664人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • 什么是HTTP? 是一种协议,计算机要共同遵从这种规则,才能相互通信。 ·http客户端发起请求,创建端口 ·http服务器在端口监听客户请求 ·http服务器向客户端返回状态和内容 用浏览器打开一个网站,http走过的环节 一、首先,对网站进行DNS域名解析 1、浏览器搜索自身的DNS缓存-》 2、搜索操作系统自身的DNS缓存(浏览器没有找到缓存或过期)-》 3、读取本地的HOST文件-》 4、浏览器发起一个DNS的一个系统调用{ 4.1宽带运营商服务器查看本身缓存-》 4.2运营商服务器发起一个迭代DNS解析的请求(根域->顶级域->域名注册商(IP地址)) 4.3运营商服务器把结果返回给操作系统内核同时缓存起来 4.4操作系统内核把结果返回给浏览器 } 5、让浏览器拿到网站的IP地址,DNS解析完成,发起HTTP"三次握手" 6、TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求,比方说,用HTTP的GET方法请求一个根域里的一个域名,协议可以采用HTTP1.0的一个协议 7、服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果的数据返回给浏览器。(这时会把网站完整的HTML页面代码返回给浏览器) 8、浏览器拿到了网站的完整的HTML页面代码,在解析和渲染这个页面的时候,里面的JS、CSS、图片静态资源,他们同样也是一个个HTTP请求,都需要经过上面的主要的七个步骤. 9、浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户 HTTP流程可分为请求/响应两部分 HTTP的组成:{ HTTP头:发送的是一些附加的信息:内容类型服务器发送响应的日期,HTTP状态码 正文信息:用户提交的表单信息 }
    查看全部
    3 采集 收起 来源:HTTP知识先填坑

    2018-03-22

  • split()方法是将指定字符串按某指定的分隔符进行拆分,拆分将会形成一个字符串的数组并返回,细节区分
    查看全部
    3 采集 收起 来源:HTTP 小爬虫

    2017-03-05

  • node.js和浏览器执行环境 相同点:都能执行一般的Js代码 不同点:全局变量不同,例如window,document等只能在浏览器中取到,而process则只能在node环境中取到。 宿主:浏览器、node; 全局变量:浏览器-window、document;node - process; nodejs 本质是一个js的执行环境 由于封装和底层的处理赋予了更大的能力
    查看全部
  • http.get(url,function(res){ var html=''; res.on('data',function(data){ html+=data; }) res.on('end',function(){ var courseDate = filterChapters(html); printCourseDate(courseDate); // console.log(courseDate); }) }).on('error',function(){ console.log('出错了'); });
    查看全部
    3 采集 收起 来源:HTTP 小爬虫

    2017-02-07

  • 我搞了一个误区:exports.add中的add并不是一个方法,而是要暴露的方法名,我在student中定义的方法为add_student,结果下面写成了exports.add=add_student;结果怎么弄都不对。正确的写法应该是:exports.add_student=add_student
    查看全部
  • @模块的分类 模块类型分为三类: =>核心模块 =>文件模块 =>第三方模块 在nodejs中文件和模块是一一对应的 引用模块的方式 1用文件路径引用 2用模块名来引用 如果用名称引用非核心模块的话 node就会把模块名映射到对应模块名的路径 包含了核心函数的模块会在node启动时预先加载 非核心模块就是使用npm安装的第三方模块 或者其他人创建的模块
    查看全部
    3 采集 收起 来源:模块的分类

    2018-03-22

  • node.js和浏览器执行环境 相同点:都能执行一般的Js代码 不同点:全局变量不同,例如window,document等只能在浏览器中取到,而process则只能在node环境中取到。 宿主:浏览器、node; 全局变量:浏览器-window、document;node - process; nodejs 本质是一个js的执行环境 由于封装和底层的处理赋予了更大的能力
    查看全部
  • nodejs: 实际上是采用google的chrome浏览器V8引擎,由C++编写的 本质上是一个javascript的运行环境 浏览器引擎可以解析js代码 nodejs可以解析js代码,没有浏览器端各种安全性的限制,还提供许多系统级别的API: 1、文件的读写 2、进行的管理 3、网络通信
    查看全部
  • 1. 什么是回调? 回调是异步编程时的基础,将后续逻辑封装成起始函数的参数,逐层嵌套 2. 什么是同步/异步? 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。 3. 什么是I/O? 磁盘的写入(in)磁盘的读取(out) 4. 什么的单线程/多线程? 一次只能执行一个程序叫做单线程 一次能执行多个程序叫多线程 5. 什么是阻塞/非阻塞? 阻塞:前一个程序未执行完就得一直等待 非阻塞:前一个程序未执行完时可以挂起,继续执行其他程序,等到使用时再执行 6. 什么是事件? 一个触发动作(例如点击按钮) 7. 什么是事件驱动? 一个触发动作引起的操作(例如点击按钮后弹出一个对话框) 8. 什么是基于事件驱动的回调? 为了某个事件注册了回调函数,但是这个回调函数不是马上执行,只有当事件发生的时候,才会调用回调函数,这种函数执行的方式叫做事件驱动~这种注册回调就是基于事件驱动的回调,如果这些回调和异步I/O(数据写入、读取)操作有关,可以看作是基于回调的异步I/O,只不过这种回调在nodejs中是有事件来驱动的 9. 什么是事件循环? //事件循环Eventloop,倘若有大量的异步操作,一些I/O的耗时操作,甚至是一些定时器控制的延时操作,它们完成的时候都要调用相应的回调函数,从而来完成一些密集的任务,而又不会阻塞整个程序执行的流程,此时需要一种机制来管理,这种机制叫做事件循环. 总而言之就是:管理大量异步操作的机制叫做事件循环 Event Loop: 回调函数队列。异步执行的函数会被压入这个队列; 队列被循环查询。
    查看全部
  • 一、nodejs.org看看nodejs的版本升级,新特性的加入,重要bug的修复,最新API的变化等 二、www.npmjs.com模块社区,看他人源代码,省力 三、github.com大量的项目和源码 四、stackoverflow.com技术解答社区以及查询相关资源,环境配置,异常均可找到答案
    查看全部
  • DNS 递归/迭代 解析原理 《深入理解计算机网络》 “递归解析/递归查询” 是最常见的也是默认的解析方式。 在这种解析方式中,如果客户端配置的本地域名服务器自己不能解析的话,则后面的查询任务全由本地域名服务器代替DNS客户端进行查询,直到本地域名服务器从权威域名服务器得到了正确的解析结果,然后由本地域名服务器告诉DNS客户端查询的结果。 DNS迭代解析原理: “迭代解析/迭代查询” 是指所有查询工作全部要由DNS客户端自己完成。 在满足以下条件之一时就会采用迭代解析方式: 1. 在查询本地域名服务器时,如果客户端的请求报文中没有申请使用递归查询(即,在DNS请求报头部的,RD字段没有置1) 相当于说“你都没有主动要求我为你进行递归查询,我当然不会为你工作了”。 2. 客户端在DNS请求报文中申请使用的是递归查询(即,RD字段置1了),但配置所在的本地域名服务器上禁用了递归查询(即,在应答DNS报文头部的RA字段置0) PS: (DNS服务器一般默认支持递归查询)
    查看全部
    3 采集 收起 来源:HTTP知识先填坑

    2016-11-09

  • io.js io.js has merged with the Node.js project again. There won't be any further io.js releases. All of the features in io.js are available in Node.js v4 and above.
    查看全部
  • 1.安装git->安装Git bash->sublime在F:/web//html下建立nodejs/beginning/serve.js,粘贴代码 2.git下输入cd F:/web//html/nodejs/beginning 3.输入node serve.js 4.开启浏览器就成功了
    查看全部
  • querystring.stringify(obj,sign1,sign2)//将对象转化成url中query部分的形式 参数:1.要转化的对象 2.链接符(默认&)3.键与值之间的符号(默认=) querystring.parse(string,sign1,sign2,sign3)//将query字符串转化成对象(反序列华) 参数:1.query字符串 2.链接符(默认&)3.键与值之间的符号(默认=)4.参数的个数(默认最多1000个,0就没有限制) querystring.escape(string) //文字转译 querystring.unescape(string) //反转译
    查看全部
  • 起一个web服务器 1.设置自己的文件夹,在文件夹beginning里新增server.js 2.server.js内容: var http = require('http'); http.createServer(function(req,res){ res.writeHead(200,{'Content-type':'text/plain'}); res.end('Hello World\n'); }).listen(1337,'127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); 3.首先要通过cd 命令 进入beginning[本地] 文件夹 cd imooc/beginning 命令行:node server.js 启动 (1337端口是本身代码里设置的) 4.先在 cmd中 启用或者重启 服务器 (node server.js),再在浏览器中刷新页面 5.http对象可以创建一个server对象,并把这个创建的对象赋值给server。 var http=require('http'); var server=http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/plain'}); res.end('Hello Node.js ,This is a Node.js http server demo\n'); }); server.listen(1337,'127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); 6.ctrl+c停止服务器,修改请求或是响应代码,要重启服务器
    查看全部

举报

0/150
提交
取消
课程须知
我们的教程面向的同学是:有 JavaScript 基础的同学,如果有过任何后台语言开发的经验更适合,对于有基础的同学,可以快进跳着看教程,不必拘束于每一分钟都听,很多时候其实是思路,思路打通了,很多技术细节也就不用纠结了。
老师告诉你能学到什么?
从 Node.js 基础知识入手,比如安装,环境配置、开发环境等,进一步熟悉 Node.js API ,一些 HTTP 知识,并且对模块的概念和使用更加熟悉,从而进阶到模块或者插件的开发,最终能够借助 Node.js 快速实现特定的需求。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!