B/S 架构的应用程序,包含两个部分,客户端和服务端,在每一个http请求至响应的完成,产生了这多姿多彩的网页世界,所以,与B/S 架构的一切相关技术问题,都可以认为是一个http请求过程的详细解释:客户端发起请求,中间经历了域名解析,tcp握手,然后在tcp/ip 应用层,传输层,网络层,链路层进行一系列封装,传至服务器,服务器接收到请求,这个时候,服务端的路由解析,文件操作,数据库查询开始工作,经过一系列服务端工作,找到请求想要的响应,然后服务将响应发送出去,最后又到达客户端,客户端根据响应内容的不同,开始不同的客户端工作。

今天,想从一张图开始说起:

如上图所示,为一个http服务器启动之后,服务器在接收到请求之后,调用createServer的回调函数所传过去的参数

基本上,IncomingMessage 将客户端请求相关的信息带到服务端,而后服务端通过ServerResponse的一系列方法完成响应需要的数据并将响应返给客户端。服务器通过这两个对象,便能完成一次请求到响应的过程。

而Readable和Writable 则将流式api和属性分别赋予IncomingMessage 和ServerResponse,使得他们可以使用诸如end,write等方法,以及pipe管道式传输数据。

EventEmitter则实现了以事件驱动方式运行程序的这么一个过程,也是设计模式上观察者模式的实现。

其实你初次看node文档很可能会和我有一样的迷惑,其一就是IncomingMessage ,实际除了官方文档那几个属性之外,更完全的属性应该是这样子的

那么问题来了,这有什么用呢? 答案是当然有用,比如connection,可以借助此属性得到客户端ip。

到这里还得吐槽一句 node官方文档实在太坑了。

剩下的,几大类可以归结为辅助类,主要是完成加密,文件操作,子进程,集群等的操作。暂时先写到这儿。

node几个类之间的关系的更多相关文章

  1. 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合

    java的类之间的关系:泛化.依赖.关联.实现.聚合.组合 泛化: • 泛化关系(Generalization)也就是继承关系,也称为"is-a-kind-of"关系,泛化关系用于 ...

  2. UML类图及类与类之间的关系

    原文地址:http://www.uml.org.cn/oobject/201211231.asp 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的 ...

  3. C++面向对象高级编程(五)类与类之间的关系

    技术在于交流.沟通,转载请注明出处并保持作品的完整性. 本节主要介绍一下类与类之间的关系,也就是面向对象编程先介绍两个术语 Object Oriented Programming   OOP面向对象编 ...

  4. UML类图(二)----------类与类之间的关系之关联(聚合与组合)

    类与类之间的关系: 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式.       1. 关联关系 关联(Association)关系是类与类之 ...

  5. Java 中类与类之间的关系

    在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系     继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在J ...

  6. 从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml

    一.RTTI Run-time type information (RTTI) is a mechanism that allows the type of an object to be deter ...

  7. oc之封装与类之间的关系

    1. 面向对象的特征-封装? 封装: 现实生活中的封装: 将很多的小东西 塞在1个大口袋里面. 好处: a. 对外部屏蔽. b. 方便管理. 代码的封装: 函数/方法 就是1种封装的体现: 将一段代码 ...

  8. java 类与类之间的关系 及uml图

    类与接口之间的关系 : 继承 类与类之间的关系 :继承关系  包含关系 类与对象之间的关系 : 实例 UML 类图中类与类之间的关系: 泛化关系(generalization) 关联关系(associ ...

  9. 全面解释java中StringBuilder、StringBuffer、String类之间的关系

    StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...

  10. python之路--类与类之间的关系

    类和类之间的关系 在我们的世界中事物和事物之间总会有一些联系. 在面向对象中. 类和类之间也可以产生相关的关系 1. 依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作. 此时的关系是最轻 ...

随机推荐

  1. 创建没有构造函数的NumberFormat

    我有以下课程: import java.text.NumberFormat; public static class NF { public static NumberFormat formatSha ...

  2. TypeScript学习(一) - 一些基本的数据类型

    1. 数据类型 1.1 原始数据类型 boolean number string null undefiend Array Map Tuple 1.2 特殊类型 任意值类型(any) 联合类型 1. ...

  3. DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库

    推荐一个专门为System.DateTime编写的扩展方法库. 01 项目简介 该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差 ...

  4. Spring Boot 如何使用拦截器、过滤器、监听器

    过滤器的使用 首先需要实现 Filter接口然后重写它的三个方法 init 方法:在容器中创建当前过滤器的时候自动调用 destory 方法:在容器中销毁当前过滤器的时候自动调用 doFilter 方 ...

  5. Java多进程多线程处理详解

    在Java编程中,多进程和多线程是两种常见的并发编程技术,用于提高程序的执行效率和响应速度.本文将详细介绍Java中的多进程和多线程处理,包括理论概述和代码示例.通过本文,你将了解如何在Java中实现 ...

  6. layui table表格单元格动态合并,并设置隔行变色

    layui table表格单元格动态合并,并设置隔行变色,此代码只针对嵌套数组只有一层的时候有效,多个数组嵌套还在冥想当中!! 需求描述 我们知道在layui插件官方平台有个可以无限极单元格合并的模块 ...

  7. 《SpringBoot》自动装配原理(简单易懂)

    引入 先看SpringBoot的主配置类 @SpringBootApplication public class DemoApplication{ public static void main(St ...

  8. Access pg walkthrough Intermediate window域渗透

    namp nmap -p- -A -sS -T4 192.168.200.187 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-23 00 ...

  9. Groove Intermediate pg walkthrough

    80端口web站点 dirsearch 没发现啥有用信息 感觉就是让我们突破登录框进后台的 https://github.com/ChurchCRM/CRM/issues/137 上网查到默认密码 登 ...

  10. 「youlai-boot」入门篇:从0到1搭建 Java、Spring Boot、Spring Security 企业级权限管理系统

    作者主页: 有来技术 开源项目: youlai-mall︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 仓库主页: GitCode︱ Gitee ...