HTTP 1.1の勉強をしています。キャッシュのところでどうしても理解できないところがあります。

corrected_initial_ageが理解できません。

  apparent_age = max(0, response_time - date_value);
  corrected_received_age = max(apparent_age, age_value);
  response_delay = response_time - request_time;
  corrected_initial_age = corrected_received_age + response_delay;

そもそも、response_delayでresponse_time - request_timeで全体の経過時間を計算しているのに、そこにさらにcorrected_received_ageを加えていますが、なぜでしょうか?

例えば以下の場合:

User <-> Cache A <-> Origin Server

とあった場合、例えばCache Aでのcorrected_initial_ageを求めると
Cache Aでのresponse_timeからCache Aからのrequest_timeの差分を求めた時点で、requestを発行してからresponseを取得するまでの時間が取得できます。
そこに、corrected_received_age、つまりCache Aでのreponse_timeからOrigin Serverがそのresponseを作成した時間をひいたもの、を加えると、余計なことやっているように見えます。

私の理解が間違っているとは思いますが、数式からこのcorected_initial_ageが何を意味しているのかがよく分かりません。

どんなたか分かる方いらっしゃいますでしょうか?