本文共 1098 字,大约阅读时间需要 3 分钟。
动态服务器
静态服务器与动态服务器的区别
- 静态服务器与动态服务器的根本区别在于是否会访问数据库
- 静态服务器:不需要访问数据库,直接读取静态文件即可
- 动态服务器:需要访问数据库,根据请求动态生成响应
数据库的作用
数据库不属于前端开发范围,但作为开发人员仍需了解其基本使用方法
常用替代方案:直接使用JSON文件作为数据库
操作数据库的步骤
- 读取数据库:使用
fs.readFileSync
读取文件内容 - 反序列化:使用
JSON.parse
将JSON字符串转换为对象 - 写入数据库:使用
JSON.stringify
将对象转换为字符串 - 同步写入文件:使用
fs.writeFileSync
用户注册功能
实现用户注册的目标
注册功能的实现步骤
前端实现
- 创建注册表单
- 通过JavaScript事件监听提交事件
- 使用AJAX发送POST请求
后端实现
- 创建路由处理
- 接收POST请求
- 读取数据库
- 判断用户名是否已存在
- 写入数据库并返回响应
用户登录功能
实现用户登录的目标
- 用户提交用户名和密码
- 验证数据库中是否存在匹配的用户
- 如果匹配,标记用户已登录
登录功能的实现步骤
前端实现
- 创建登录表单
- 通过JavaScript事件监听提交事件
- 使用AJAX发送POST请求
后端实现
- 创建路由处理
- 接收POST请求
- 读取数据库
- 验证用户名和密码
- 返回登录结果
Cookie的作用
Cookie的定义与应用场景
- Cookie是一种服务器向浏览器发送的数据片段
- 浏览器会将Cookie保存在本地设备中
- Cookie可以在后续请求中重复发送
Cookie的实际应用场景
设置Cookie的示例
- 服务器响应头中设置
Set-Cookie
字段 - 例如:
response.setHeader('Set-Cookie', 'logined=1')
- Brower会将这个Cookie保存下来
Session的作用
Session的定义与优势
- Session是服务器为浏览器分配的一个唯一标识符
- Session具有时效性,重新登录会生成新的Session ID
- Session数据存储在服务器端
Session的使用场景
Session的安全性考虑
- Session ID不能被窃取
- Session数据需要加密存储
- 防止Session固定攻击
总结
- 静态服务器与动态服务器的主要区别在于数据库的使用
- 实现用户注册和登录功能需要前后端协同工作
- Cookie和Session都是用于用户身份验证的常用技术
转载地址:http://dqloz.baihongyu.com/