You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Florian Müller (JIRA)" <ji...@apache.org> on 2013/06/12 13:18:20 UTC

[jira] [Commented] (CMIS-670) Query parameters kill browser cache

    [ https://issues.apache.org/jira/browse/CMIS-670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13681125#comment-13681125 ] 

Florian Müller commented on CMIS-670:
-------------------------------------

I don't see an issue here.
- The current behavior is not incompatible with the spec. It only constructs URLs that shouldn't be cached by clients. That's absolutely valid.
- The CMIS spec does not talk about caching. It doesn't define if a content stream should be cacheable or not. In fact, some repositories intentionally try to prevent caching on the client side. Different use cases have different caching requirements. There isn't one right way.
- The OpenCMIS server provides means to set an expiration time (-> "...unless the server provides an explicit expiration time"). So, there is a workaround.
- The Browser binding has been designed to be accessed by web browsers. The AtomPub binding has not.

I guess the improvement you are looking for is to change 
http://server/content?id=1234-1234-1234-1234 to something like http://server/content/1234-1234-1234-1234 .


                
> Query parameters kill browser cache
> -----------------------------------
>
>                 Key: CMIS-670
>                 URL: https://issues.apache.org/jira/browse/CMIS-670
>             Project: Chemistry
>          Issue Type: Improvement
>          Components: opencmis-server
>    Affects Versions: OpenCMIS 0.9.0
>            Reporter: Carlo Sciolla
>            Priority: Critical
>
> From the [w2c spec|http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.9]:
> {quote}
> We note one exception to this rule: since some applications have traditionally used GETs and HEADs with query URLs (those containing a "?" in the rel_path part) to perform operations with significant side effects, caches MUST NOT treat responses to such URIs as fresh unless the server provides an explicit expiration time. This specifically means that responses from HTTP/1.0 servers for such URIs SHOULD NOT be taken from a cache. See section 9.1.1 for related information.
> {quote}
> Currently, the getContentStream call in the REST binding requires URLs to be in the form:
> http://server/content?id=1234-1234-1234-1234
> which is incompatible with the spec (e.g. Firefox won't cache such URLs)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira