[
https://issues.apache.org/jira/browse/TS-2591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14003446#comment-14003446
]
Norm Paxton commented on TS-2591:
---------------------------------
Additional information:
The expected behavior for this use case is less ambiguous in the new draft spec:
http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-26#section-4.3.4
Responses to the PUT method are not cacheable. If a successful PUT
request passes through a cache that has one or more stored responses
for the effective request URI, those stored responses will be
invalidated (see Section 4.4 of [Part6]).
Also please consider the use-case where one media-type (ie 'application/xml')
is already in the cache, but a PUT is with a media-type (ie,
'application/json') that is NOT found in the cache, I would still expect it to
invalidate the 'application/xml' variant.
> Cache does not invalidate variant/alternate content types on PUT or POST
> -------------------------------------------------------------------------
>
> Key: TS-2591
> URL: https://issues.apache.org/jira/browse/TS-2591
> Project: Traffic Server
> Issue Type: Bug
> Components: Cache
> Reporter: Norm Paxton
> Assignee: Leif Hedstrom
> Fix For: 5.0.0
>
>
> "Some HTTP methods MUST cause a cache to invalidate an entity. This is either
> the entity referred to by the Request-URI, or by the Location or
> Content-Location headers (if present). These methods are: PUT, DELETE, POST."
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10
> (This doesn't explicitly address variant content types, I read it as implied.)
> The current caching implementation only invalidates the Request URI, and not
> variant/alternate URI's.
> Example: A REST service provides both xml and json documents. A client app
> requests in both content-types (perhaps two different components, one expects
> xml, the other json). Assume both documents (xml and json) are in the cache.
> If the app PUTs a modification to the object in XML (ie, changes a User
> object's email address), it should then be able to retrieve the correct
> object data via a GET in json. In order to do so, the json object in the
> cache would need to be invalidated, so that the cache server forwards the
> request on to the REST service.
--
This message was sent by Atlassian JIRA
(v6.2#6252)