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

进击Node.js基础(一)

Scott 全栈工程师
难度中级
时长 3小时27分
学习人数
综合评分9.50
664人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • 一、服务器、客户端交互

    1、chrome

    (1)chrome搜索自身的dns缓存

    (2)搜索操作系统自身的dns缓存(浏览器没有找到缓存或缓存已经失效)。

    (3)读取本地的host文件。

    优先级:浏览器DNS缓存>操作系统DNS缓存>HOST文件

    (4)浏览器发起一个dns的一个系统调用。

    (5)浏览器获得域名对应的ip地址后,发起http“三次握手”。

    (6)tcp/ip连接建立起来后,浏览器就可以向服务器发送http请求了,使用了比如说,用Http的get方法请求一个根域里的一个域名,协议可以采用http1.0的一个协议。

    (7)服务器接收到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果的数据返回给浏览器,如果是慕课网的页面,就会把完整的html页面代码返回给浏览器。

    (8)浏览器拿到了慕课网的完整的html页面代码,在解析和渲染这个页面的时候,里面的js,css,图片静态资源,同样也是一个个http请求,都需要上述7个步骤。

    (9)浏览器拿到资源对页面进行渲染,最终把一个完整的页面呈现给用户。

    2、运营商dns服务器:

    (1)宽带运营商服务器查看本身缓存。

    (2)运营商服务器发起一个迭代dns解析的请求。

    (3)运营商服务器把结果返回操作系统内核同时缓存起来。

    (4)操作系统内核把结果返回浏览器。

    (5)最终拿到www.imooc.com对应的ip地址。

    二、根域、顶级域名、主域名。

    www.123.com;主域名

    123.com:顶级域名

    com;根域名



    查看全部
    0 采集 收起 来源:HTTP知识先填坑

    2018-09-12

  • 一、序列化与反序列化

    1、序列化:querystring.stringify({name:'scott',course:['jade','name']}, ',', ':');

    (1){}:url参数.(2)第2个参数的‘,’表示,代替&,(3)第3个参数的':'表示:代替=。

    2、反序列化:querystring.parse('name=scott&course=jade')。

    querystring.parse('name=scott,course=jade',',')。

    querystring.parse('name:scott,course:jade', ',', ':')。

    querystring.parse('name:scott,course:jade', ',', ':', 0)。最后一个参数maxKey=0,就对key的个数没有限制了。

    二、转译与反转译

    1、转译:querystring.escape('<哈哈>');

    2、反转译:querystring.unescape();



    查看全部
  • 一、uri:Uniform Resource Identifier,统一资源标识符,字符串格式规范

    url:Uniform Resource Locator,统一资源定位符

    url是uri的子集,url肯定是uri,uri不一定是url。

    查看全部
  • 大量js文件写入页面会使得方法被重写掉,变量被被覆盖掉,特别是存在一些依赖关系的时候,很容易出错,是因为javascript天生缺少一种模块管理机制 来隔离实现不同功能的js片段,避免他们相互污染,为此采用命名空间的方式,吧变量和函数限制在某个特定的作用域内 ,人为约定一套命名规范来约束代码,从而使得代码安全执行。nodejs克服了以上缺点

    查看全部
  • 一、模块流程:

    1、创建模块。teacher.js

    2、导出模块。exports.add = function() {}; export是一个对象,可以挂载属性,number,data, string等。

    3、加载模块。var teacher = require('./teacher.js);

    4、使用模块。teacher.add('Scot);

    二、node中没有全局命名空间这个概念。

    三、exports,  module.exports.

    1、希望你的模块是一个传统的模块实例:用exports.

    2、想要你的模块成为一个特别的对象类型:用module.exports。

    3、module.exports是真实存在的东西,exports是module.exports的辅助方法。

    4、module.exports如果已经有了属性,exports就会被忽略。

    查看全部
  • 一、nodeJs文件和模块是一一对应的,模块类型:核心模块,文件模块,npm安装的第三方模块。

    二、引入文件的2种方式:文件路径引入,文件名引入。

    查看全部
    0 采集 收起 来源:模块的分类

    2018-09-11

  • 一、javascript天生缺少模块管理机制,来隔离不同功能的Js片段,避免相互污染。

    解决:匿名空间方式,把变量和函数限制在某个特定的作用域内。

    查看全部
  • 一、js与node.js脚本执行,变量,方法没什么差异,但是所在的环境底层,都不太一样。

    都有自己特殊的环境变量。

    查看全部
  • nodejs的版本一定要API文档保持同步

    不同版本的nodejs接口不一定相同

    甚至是相同的接口使用规范也有区别

    0.10.0x 

    查看全部
  • nodejs 版本管理模块  n

    查看全部
    0 采集 收起 来源:Mac下安装Nodejs

    2018-09-05

  • nodejs url 方法

    查看全部
  • 浏览器 window document 全局变量

    服务器 process 全局变量

    查看全部
  • apache ab

    ab -n1000 -c10 http://www.imooc.com/

    -n(总请求条数) -c(并发数)

    查看全部
    0 采集 收起 来源:HTTP 性能测试

    2018-09-04

  • 偶数位为稳定版本,奇数为非稳定版本

    查看全部
    0 采集 收起 来源:Nodejs版本常识

    2018-09-01

  • Node.js本质是一个JS运行环境;

    可以解析JS代码,没有浏览器安全级的限制;

    提供系统级别的API:  如文件的读写,进程的管理,网络通信。

    查看全部

举报

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

微信扫码,参与3人拼团

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

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