闭卷重建方法语义与安全重试的对象、公式、算例、算法与失败边界。
Web系统与云原生 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建状态码与错误契约的对象、公式、算例、算法与失败边界。
闭卷重建内容协商与表示的对象、公式、算例、算法与失败边界。
闭卷重建缓存新鲜度与验证的对象、公式、算例、算法与失败边界。
闭卷重建范围请求、压缩与流式传输的对象、公式、算例、算法与失败边界。
闭卷重建代理、网关与转发身份的对象、公式、算例、算法与失败边界。
闭卷重建CDN、边缘与失效传播的对象、公式、算例、算法与失败边界。
对象:状态码表达协议结果,业务错误还需稳定机器码、可重试性和关联ID。;公式:retryable=transport_failure∨selected_5xx∨explicit_429 policy。;算例:验证失败应4xx而非500;429带Retry-After后客户端延迟重试。;边界:所有异常200+错误字符串;401与403混同泄露资源存在性。。
对象:GET/HEAD安全,PUT/DELETE应幂等,POST通常非幂等;重试取决于业务操作和幂等键。;公式:duplicate effect≤one when idempotency_key stable。;算例:支付POST超时后重试,若同幂等键命中已完成结果,不重复扣款。;边界:把HTTP方法名当业务幂等证明;键先记录后业务失败永久卡住。。
对象:Cache-Control定义freshness;过期可用ETag/Last-Modified条件验证,304复用body。;公式:current_age<freshness_lifetime则fresh。;算例:max-age=60,获取30秒后仍新鲜;70秒后需验证。;边界:把浏览器缓存与CDN缓存混为一层;私有响应被共享缓存。。
对象:同一资源可按Accept、语言、编码返回不同表示,缓存必须用Vary区分。;公式:cache key includes fields named by Vary。;算例:响应Vary:Accept-Encoding,则gzip和identity不能共用同一缓存对象。;边界:忽略q值;缓存键漏语言导致串内容。。
对象:正向/反向代理改变连接边界,转发客户端身份和协议需信任明确的代理链。;公式:client_ip=first untrusted hop in validated chain。;算例:攻击者直连时自带X-Forwarded-For不能覆盖真实远端地址。;边界:无条件信任最左IP;多代理追加顺序理解反。。
对象:Range允许分段获取;压缩改变表示长度;流式body需正确背压和结束语义。;公式:compression ratio=compressed/original。;算例:原文件1000KB压到250KB,压缩后比例25%,节省75%。;边界:对已压缩媒体重复gzip;Range偏移基于错误表示。。
对象:CDN降低距离和源站负载,但缓存键、失效传播与区域一致性必须可测。;公式:origin QPS≈miss_rate×edge QPS。;算例:边缘10000 QPS、命中率95%,源站约500 QPS。;边界:更新后只清一个POP;查询参数未入键导致错内容。。