# nodeJs **Repository Path**: lzy_8920/node-js ## Basic Information - **Project Name**: nodeJs - **Description**: nodejs的demooooooo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-18 - **Last Updated**: 2022-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node [TOC] ## 1. server开发和前端开发的区别 服务稳定性 ​ server端可能会遭受各种恶意攻击和误操作 ​ 单个客户端可以意外挂掉,但是服务端不能 ​ 使用pm2做进程守候 考虑内存和CPU ​ 客户端独占一个浏览器,内存和CPU都不是问题 ​ server端要承载很多请求,CPU和内存都是稀缺资源 ​ 使用stream写日志,使用redis存session 日志记录 ​ 前端也会参与写日志,但只是日志的发起方,不关心后序 ​ server端要记录日志、存储日志、分析日志,前端不关心 安全 ​ server端要随时准备接收各种恶意攻击,前端则少很多 ​ 如:越权操作,数据库攻击 ​ 登录验证,预防xss攻击和sql注入 集群和服务拆分 ​ 产品发展速度快,流量可能会迅速增加 ​ 如何通过扩展机器和服务拆分来承载大流量 ## 2. 项目介绍 首页,作者主页,博客详情页 登录页 管理中心,新建页,编辑页 ## 3. 技术方案 数据如何存储 ​ 博客 ​ id title content createtime author ​ 用户 ​ id username password realname 如何与前端对接,即接口设计 ​ 获取博客列表 ​ 获取一篇博客的内容 ​ 新增一篇博客 ​ 更新一篇博客 ​ 删除一篇博客 ​ 登录 ## 4. 开发接口 ​ nodejs处理http请求 ​ 搭建开发环境 ​ 开发接口 ## 5. http请求概述 ​ DNS解析,建立TCP连接,发送http请求 ​ server接收到http请求,处理,并返回 ​ 客户端接收到返回数据,处理数据(如渲染页面) ## 6. nodejs处理http请求 ​ get请求和querystring ​ post请求和postdata ​ 路由 ## 7. 开发接口 初始化路由:根据之前的技术方案的设计,做出路由 返回假数据:将路由和数据处理分离,以符合设计原则