喵德利的文件传输机

传输协议

HTTP

JSON

XML

交互方式

目标

开放而非封闭

开放源码

遵循 MIT 协议

良好的文档支持

设计文档

便于他人理解软件内部的工作原理

协议文档

便于第三方开发协议兼容的软件

支持多种平台

1.0 架构

服务端

网络IO

http 服务器

UDP 服务器

服务处理

文件系统

文件

创建

查询

查询文件属性

修改

修改文件名

修改文件属性

修改文件内容

删除

目录

创建

查询

查询目录属性

查询目录下的文件信息

修改

修改目录名

修改目录属性

删除

传输

上传文件

下载文件

搜索

发现

名字

客户端

网络 IO

http 请求

UDP 请求

命令处理

核心概念

角色

服务者

运行了本程序的计算机

访问者

用户

计算机

运行了本程序的

没有运行本程序的

基本要素

用户

本软件

计算机

成员

运行了本软件

非成员

未运行本软件

网络环境

家庭网络

多台计算机

不同计算机之间有较高的信任度

工作网络

多台计算机

不同计算机之间有受限的信任度

公用网络

多台计算机

不同计算机之间不信任

信任模型

根据实现机制划分

基于密码的模型

1. 访客发送访问请求给服务者

2. 服务者要求访客输入密码

3. 访客发送密码

4. 服务者确认密码有效后发送授权信息

5. 访客收到授权信息

基于证书的模型

授权

取消授权

验证授权

根据持久性划分

临时性信任

持久性信任