• nodejs


    nodejs.org

    npmjs.com

    github.com

    stackoverflow.com

    nodejs:偶数是稳定版,奇数为非稳定版本

    nodejs事件驱动模型

    nodejs:是单线程的,通过回调来实现异步

    nodejs:适合于高并发,io密集操作等

    URL:

      url.parse('http://www.baidu.com',true):是把url地址解析成对象,第二个设为true后解析出来的query会变为对象,url.parse('www.baidu.com/know',true,true)第三个参数设为true时host和pathname将发生变化。

      url.format():跟上面的正好相反,它是把解析过后的对象转换成url地址

      url.resolve('http://www.baidu.com','/know'):可以将两个值拼接成合法的url地址

    querystring用于处理参数:

      querystring.stringify(序列化参数):

      querystring.stringify({name:'hhm',course:['h','m'],from:''},',',':'):第一个参数表示要序列化的值,第二个参数表示序列化后的每个值用什么符号分割, 第三个参数表示序列化过后的key和value中间要用什么符号 

      querystring.parse('name=hhm&course=h&course=m&from='):与上面的作用相反,这里是反序列化(默认情况下分隔符是&,如果你要解析的不是的话,要传第二个参数表明你的分隔符是什么,键值对的符号不是=的话,也同样要给出明确的指定。这里还可以设置字符串最大长度)

      querystring.escape('<哈哈>'):转义你输入的值

      querystring.unescape('%2%3%5%8%1%32'):反转义你输入的值

    http相关知识:

    查看chrome缓存:chrome://net-internals/#dns

     发起http请求的过程以chrome浏览器为例:

    1.chrome搜索自身的DNS缓存(无)

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

    3.读取本地的HOST文件

    4.浏览器发起一个DNS的一个系统调用

    5.浏览器获得域名对应的IP地址后,发起HTTP“三次握手”

    6.TCP/IP连接建立起来后,浏览器就可以向服务器发起HTTP请求了。使用了比如说,用HTTP的GET方法请求一个根域里的一个域名,协议可以采HTTP1.0的一个协议

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

    8.浏览器拿到了完成的HTML页面代码,在解析和渲染这个页面的时候,里面的js css 图片静态资源,他们同样也是一个个HTTP请求都需要经过上面的主要七个步骤

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

    10.状态码:

      1XX:表示请求已经接收继续处理

      2XX:请求已经成功的接收处理掉了 200(成功 ok)

      3XX:重定向

      4XX:表示客户端错误,请求的时候有语法错误等,请求无法实现(400:客户端请求语法错  误,401:请求未经授权,403:服务器端收到这个请求,但是被拒绝提供服务,404:没有找到,有可能是输错了url地址,500:服务器端发生了不可预期的错误,503:服务器端还不能处理当前客服端的请求)

      5XX:表示服务器端的错误  

    11.http的源码解读: 

      IncomingMessage和OutgoingMessage: 提供输入输出流的对象

  • 相关阅读:
    短信发送平台-阿里大于
    Spring Boot与ActiveMQ整合
    Spring Boot入门
    使用POI导出百万级数据到excel的解决方案
    复杂的POI导出Excel表格(多行表头、合并单元格)
    深挖的Java源代码之Integer.parseInt()vs Integer.valueOf()
    vim简单操作命令
    Linux中jar包启动和jar包后台运行
    centos7下使用mysql离线安装包安装mysql5.7
    maven配置多个镜像
  • 原文地址:https://www.cnblogs.com/cxdxm/p/6902119.html
Copyright © 2020-2023  润新知