据我了解,当消息无法传递时,Retry-After 标头有时包含在响应中,有时不包含。但是,如果我首先收到包含 Retry-After 的错误响应,然后重新发送消息并收到另一个错误响应但没有 Retry-After,会发生什么?我知道我应该使用指数退避,但是当之前的等待时间来自 Retry-After 标头时,它是如何工作的?
想象一下这个请求和响应序列:
Request 1: No waiting
Response 1: Error without Retry-After
Request 2: Wait 2 seconds
Response 2: Error with Retry-After included (let's say 120 seconds)
Request 3: Wait 120 seconds
Response 3: Error without Retry-After
Request 4: How long should I wait?
在发送请求 4 之前我应该等待多长时间?8 秒?还是从 2 秒开始?