[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-issues
Subject:    [Issue 4235] New - "Vary: X-SVN-VR-Base" header to allow caching of GET
From:       philip () tigris ! org
Date:       2012-09-26 18:10:26
Message-ID: iz4235 () subversion ! tigris ! org
[Download RAW message or body]

http://subversion.tigris.org/issues/show_bug.cgi?id=4235
                 Issue #|4235
                 Summary|"Vary: X-SVN-VR-Base" header to allow caching of GET
               Component|subversion
                 Version|trunk
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|mod_dav_svn
             Assigned to|issues@subversion
             Reported by|philip






------- Additional comments from philip@tigris.org Wed Sep 26 11:10:26 -0700 2012 \
------- A typical serf GET is

GET /obj/repo/!svn/rvr/2/f HTTP/1.1
Host: localhost:8888
User-Agent: SVN/1.8.0-dev serf/1.1.1
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
DAV: http://subversion.tigris.org/xmlns/dav/svn/mergeinfo
DAV: http://subversion.tigris.org/xmlns/dav/svn/log-revprops
X-SVN-VR-Base: /obj/repo/!svn/rvr/1/f
Accept-Encoding: svndiff1;q=0.9,svndiff;q=0.8

and the response is:

HTTP/1.1 200 OK
Date: Wed, 26 Sep 2012 16:20:33 GMT
Server: Apache/2.2.16 (Debian) mod_ssl/2.2.16 OpenSSL/0.9.8o DAV/2 SVN/1.8.0-dev
Last-Modified: Wed, 26 Sep 2012 16:20:19 GMT
ETag: "2//f"
Cache-Control: max-age=604800
Accept-Ranges: bytes
Transfer-Encoding: chunked
Content-Type: application/vnd.svn-svndiff

followed by some svndiff data based on X-SVN-VR-Base. The intention is that
these responses can be cached but this response is only valid if the client
sends the same X-SVN-VR-Base header. So mod_dav_svn must tell potential caches
that the X-SVN-VR-Base header is significant, by returning headers like:

X-SVN-VR-Base: /obj/repo/!svn/rvr/1/f
Vary: X-SVN-VR-Base

otherwise the cache may return a delta against the wrong base revision and the
client will fail to construct the full-text.

See this thread:

http://mail-archives.apache.org/mod_mbox/subversion-dev/201209.mbox/%3CCAHFaGCop6WFvXGf_6Wqi-GALop3nk13RnhukL7yDPb7piZDifw@mail.gmail.com%3E


------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=3010449

To unsubscribe from this discussion, e-mail: \
[issues-unsubscribe@subversion.tigris.org].


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic