登录  /  注册
博主信息
博文 82
粉丝 0
评论 1
访问量 125787
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
node几个类之间的关系
子龙的博客搬家啦httpswwwcnblogscomZiLongZiLong
原创
851人浏览过

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

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


P[2WWDBATD36PGG$1}TMN2W.png

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

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

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

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

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

image.png

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

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

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



本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学