Skip to content
阅读进度

如何理解HTTP、连接复用与失败重试? ​

返回 架构与 SDK 目录

标准回答 ​

一次 HTTPS 请求可能经历 DNS、连接建立、安全握手、请求传输、服务处理和响应读取。连接复用可以降低部分开销,但慢请求也可能来自代理排队、服务器处理或大响应,不能全部归因于握手。

HTTP 的安全与幂等是方法语义概念,业务接口仍需正确实现。GET 不应承载改变业务状态的操作;POST 可以通过业务幂等键实现重放安全,不能因为方法名就随意自动重试。超时可能发生在服务端已经提交之后。

HTTP/2 的多路复用不意味着底层拥塞与所有等待消失,也不能消除服务端并发限制。TLS 保护传输与身份验证,不能代替对象授权。缓存响应还应正确区分私有与可共享内容,避免鉴权接口被代理混用。

追问与回答 ​

401 与 403 如何区别理解 ​

通常前者涉及认证缺失或无效,后者表示服务端拒绝当前操作;具体接口还要考虑避免泄露资源存在性,客户端应依据稳定契约处理。

客户端超时后最稳妥的下一步 ​

对有副作用操作优先用稳定请求 ID 查询状态或按幂等协议重试,不直接新建第二个业务操作。

易混淆点 ​

  • 认为没有收到响应就等于服务端没有执行。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。