Github user ngorchilov commented on a diff in the pull request: https://github.com/apache/trafficserver/pull/330#discussion_r44374071 --- Diff: proxy/http/HttpTransactCache.cc --- @@ -1299,7 +1299,7 @@ HttpTransactCache::match_response_to_request_conditionals(HTTPHdr *request, HTTP ink_time_t lm_value = response->get_last_modified(); // we won't return NOT_MODIFIED if Last-modified is too recent - if ((lm_value == 0) || (request->get_if_modified_since() < lm_value)) { --- End diff -- This exact logic - forcing 304 on origin 200 wheb last-modified = if-modified-since - breaks Akamai live streaming. Their logic is simple: if-modified-since <timestamp> means "give me updates on this stream since <timestamp>". response is 200 OK, last-modified <same_timestamp>, which means "here's what's new since <timestamp>". Currently you can't watch akamized live streams via ATS in forwarding proxy mode, as from second request onwards it uses if-modified=last-modified request/response logic for stream updates. This is why my suggestion is to treat the edge case of if-modified=last-modified as HTTP_STATUS_OK and allow client to get the new body.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---