[
https://issues.apache.org/jira/browse/TS-4829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15475981#comment-15475981
]
Miles Libbey commented on TS-4829:
----------------------------------
The node caches the Via header from its parents. It then appends its
information to the end of the string.
Examples:
Via: http/1.1 4th_parent.example.com (ApacheTrafficServer/6.2.1 [uScMsSfWpSeN:t
cCMi p sS]), http/1.1 3rd_parent.example.com (ApacheTrafficServer/6.2.1
[uScMsSf pSeN:t cCMi pSs ]), http/1.1 2nd_parent.example.com
(ApacheTrafficServer/6.2.1 [uScMsSfWpSeN:t cCMi pSs ]), http/1.1
1st_parent.example.com (ApacheTrafficServer/6.2.1 [uScHs f p eN:t cCHi p s ]),
http/1.1 child.example.com (ApacheTrafficServer/6.2.1 [uScMsSf pSeN:t cCMi pSs
])
This was:
1) miss on child.example.com.
2) hit on 1st_parent.example.com
(then purged 1st_parent.example.com)
Via: http/1.1 4th_parent.example.com (ApacheTrafficServer/6.2.1 [uScMsSfWpSeN:t
cCMi p sS]), http/1.1 3rd_parent.example.com (ApacheTrafficServer/6.2.1
[uScMsSf pSeN:t cCMi pSs ]), http/1.1 2nd_parent.example.com
(ApacheTrafficServer/6.2.1 [uScHs f p eN:t cCHi p s ]), http/1.1
1st_parent.example.com (ApacheTrafficServer/6.2.1 [uScMsSfWpSeN:t cCMi pSs ]),
http/1.1 child.example.com (ApacheTrafficServer/6.2.1 [uScMsSf pSeN:t cCMi pSs
])
This was:
1) miss on child.example.com.
2) miss on 1st_parent.example.com
3) hit on 2nd_parent.example.com
Via: http/1.1 4th_parent.example.com (A pacheTrafficServer/6.2.1
[uScMsSfWpSeN:t cCMi p sS]), http/1.1 3rd_parent.example.com
(ApacheTrafficServer/6.2.1 [uScMsSf pSeN:t cCMi pSs ]), http/1.1
2nd_parent.example.com (ApacheTrafficServer/6.2.1 [uScHs f p eN:t cCHi p s ]),
http/1.1 1st_parent.example.com (ApacheTrafficServer/6.2.1 [uScRs f p eN:t cCHi
p s ]), http/1.1 child.example.com (ApacheTrafficServer/6.2.1 [uScRs f p eN:t
cCHi p s ])
(then fetched a ton from child.example.com)
This was:
1) hit on child.example.com.
(while 1st_parent.example.com said it was a cache hit, it did not go to that
machine)
> Via: header string should not be cached
> ---------------------------------------
>
> Key: TS-4829
> URL: https://issues.apache.org/jira/browse/TS-4829
> Project: Traffic Server
> Issue Type: Bug
> Reporter: Miles Libbey
>
> We use a cache hierarchy. In theory the Via: string shows the path the
> request took through proxies, and with
> proxy.config.http.insert_response_via_str set to 3, a lot of info is
> presented -- cache hit, etc. (The Via header is described in
> https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45)
> However, the string is cached, so it doesn't accurately reflect the path that
> *this* request took. Instead, it shows the path of the original request.
> For instance, imagine 2 servers, conveniently named child.example.com and
> parent.example.com, which also represents their roles in the cache hierarchy.
> The object is cacheable for a long time.
> The first request for the object might look like:
> Via: http/1.1 parent.example.com (ApacheTrafficServer/6.2.1 [uScMsSfWpSeN:t
> cCMi p sS]), http/1.1 child.example.com (ApacheTrafficServer/6.2.1 [uScMsSf
> pSeN:t cCMi pSs ])
> (with the cM meaning cache miss). The second request, a cache hit that just
> goes through child.example.com might show:
> Via: http/1.1 parent.example.com (ApacheTrafficServer/6.2.1 [uScMsSfWpSeN:t
> cCMi p sS]), http/1.1 child.example.com (ApacheTrafficServer/6.2.1[uScHs f p
> eN:t cCHi p s ])
> eg, cache Hit for child, but cache Miss for parent -- even though the parent
> wasn't involved in the request, and, if it were, it would be a Hit. The
> parent portion was cached by child.example.com.
> The expected behavior is that the 2nd request would yield:
> Via: http/1.1 child.example.com (ApacheTrafficServer/6.2.1[uScHs f p eN:t
> cCHi p s ])
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)