10.14. 总结¶
院子里的这台摄像头现在会注视它面前的画面,把视图流式传输给任何已登录的手机,在有东西移动的那一刻触发 Server-Sent Events,通过 WebSocket 接受仪表盘命令,并把每一个被触发的帧的 JPEG 上传到云端存档——这一切都通过 HTTPS、在登录之后进行,由 CORS 和 CSRF 把跨站捣乱挡在门外。一个脚本,四个后台协程与一个 HTTP 服务器共享 asyncio 循环,/sdcard/static/ 中三个用于仪表盘的小文件,文件系统上一个签名密钥。
10.14.1. 参考路线图¶
当你在自己的应用中要用到这些功能之一时,参考页就是查阅的目的地:
microdot --- 极简 HTTP 框架 ——
microdot.Microdot、Request、Response、各个路由装饰器、mount()、microdot.abort()、microdot.redirect()、start_server()、run()。microdot.auth --- HTTP 身份验证 —— 用于基于请求头的认证的
BasicAuth和TokenAuth。microdot.session --- 签名 cookie 会话 —— 基于签名 cookie 的会话存储。
microdot.login --- 用户登录流程 —— 构建在 session 之上的登录流程。
microdot.sse --- 服务器发送事件 —— 用于单向推送的 Server-Sent Events。
microdot.websocket --- WebSocket 支持 —— 用于双向分帧消息传递的 WebSockets。
microdot.cors --- 跨源资源共享 —— CORS 中间件。
microdot.csrf --- CSRF 防护 —— CSRF 中间件。
microdot.multipart --- multipart/form-data 解析 —— 表单和文件上传解析(后院摄像头不接受上传,但大多数仪表盘最终都会需要)。
jwt --- JSON Web Token —— 同时支撑
TokenAuth和会话存储的 JWT 原语。requests --- HTTP 客户端 —— 出站 HTTP 客户端。
每一个都是一页式的查阅。既然你已经在上下文中见过每个部分,现在就用上它们吧。