HTTP 1.1 corrected_initial_ageに関して
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が何を意味しているのかがよく分かりません。
どんなたか分かる方いらっしゃいますでしょうか?