喵德利的文件传输机
传输协议
HTTP
JSON
XML
交互方式
目标
开放而非封闭
开放源码
遵循 MIT 协议
良好的文档支持
设计文档
便于他人理解软件内部的工作原理
协议文档
便于第三方开发协议兼容的软件
支持多种平台
1.0 架构
服务端
网络IO
http 服务器
UDP 服务器
服务处理
文件系统
文件
创建
查询
查询文件属性
修改
修改文件名
修改文件属性
修改文件内容
删除
目录
创建
查询
查询目录属性
查询目录下的文件信息
修改
修改目录名
修改目录属性
删除
传输
上传文件
下载文件
搜索
发现
名字
客户端
网络 IO
http 请求
UDP 请求
命令处理
核心概念
角色
服务者
运行了本程序的计算机
访问者
用户
计算机
运行了本程序的
没有运行本程序的
基本要素
用户
本软件
计算机
成员
运行了本软件
非成员
未运行本软件
网络环境
家庭网络
多台计算机
不同计算机之间有较高的信任度
工作网络
多台计算机
不同计算机之间有受限的信任度
公用网络
多台计算机
不同计算机之间不信任
信任模型
根据实现机制划分
基于密码的模型
1. 访客发送访问请求给服务者
2. 服务者要求访客输入密码
3. 访客发送密码
4. 服务者确认密码有效后发送授权信息
5. 访客收到授权信息
基于证书的模型
授权
取消授权
验证授权
根据持久性划分
临时性信任
持久性信任