You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Damon Rand <da...@cybermagic.co.nz> on 2003/08/06 08:53:24 UTC

How to make mod_svn_dav return a last-modified header?

Hi there,

  Here is the output from a HEAD request against subversion. I would like to
know how to convince Subversion to add last-modified headers?

HTTP/1.1 200 OK
Date: Wed, 06 Aug 2003 08:46:40 GMT
Server: Apache/2.0.47 (Win32) DAV/2 SVN/0.26.0
ETag: "59//www/trunk/pipelines/homepage/format-homepage.xsl"
Accept-Ranges: bytes
Connection: close
Content-Type: text/plain; charset=ISO-8859-1


Regards,
Damon.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Chris Croome <ch...@webarchitects.co.uk>.
HI

On Thu 07-Aug-2003 at 06:22:59PM +0200, Julian Reschke wrote:
> I really don't understand what this has to do with
> cache-friendliness... An HTTP/1.1 should be absolute enthusiastic
> about the presence of the ETag, and not use Last-Modified at all
> in this case.
>
> What am I missing?

Dunno, nothing perhaps, I think it might be that a lot of HTTP
applications don't yet support ETags?

  Almost all caches use Last-Modified times in determining if an
  object is fresh; as more HTTP/1.1 caches come online, Etag headers
  will also be used.

  http://www.mnot.net/cache_docs/#VALIDATE

Chris

-- 
Chris Croome                               <ch...@webarchitects.co.uk>
web design                             http://www.webarchitects.co.uk/ 
web content management                               http://mkdoc.com/   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: How to make mod_svn_dav return a last-modified header?

Posted by Julian Reschke <ju...@gmx.de>.
I really don't understand what this has to do with cache-friendliness... An
HTTP/1.1 should be absolute enthusiastic about the presence of the ETag, and
not use Last-Modified at all in this case.

What am I missing?

--
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760

> -----Original Message-----
> From: Chris Croome [mailto:chris@webarchitects.co.uk]
> Sent: Thursday, August 07, 2003 6:17 PM
> To: kfogel@collab.net
> Cc: users@subversion.tigris.org
> Subject: Re: How to make mod_svn_dav return a last-modified header?
>
>
> Hi
>
> On Wed 06-Aug-2003 at 10:42:06 +0100, Chris Croome wrote:
> >
> > On Wed 06-Aug-2003 at 10:25:01AM -0500, kfogel@collab.net wrote:
> > > I think we did this in revision 6636, resolving issue #971.
> > >
> > > Can you check the change against those docs and let us know if we
> > > missed anything important?  That would be a big help, thanks...
> >
> > OK, I need to upgrade from version 0.24.1 (r6278) first though!
>
> Right I'm now running a new version:
>
>  [root@atomism i386]# rpm -qa subversion
>  subversion-0.26.0-6658
>
> And there are still no Last-Modified headers being produced (The ETag
> looks OK though):
>
>   [chris@snowball chris]$ lynx -head -dump
> http://atomism.demon.co.uk/svn/repos/morris/morris.jpg
>   HTTP/1.1 200 OK
>   Date: Thu, 07 Aug 2003 16:11:19 GMT
>   Server: Apache/2.0.47 (Red Hat Linux)
>   ETag: "1//morris.jpg"
>   Accept-Ranges: bytes
>   Connection: close
>   Content-Type: application/octet-stream
>
> And as a result it's not very cache friendly:
>
>
> http://www.ircache.net/cgi-bin/cacheability.py?query=http://atomis
> m.demon.co.uk/svn/repos/morris/morris.jpg
>
>   Expires             -
>   Cache-Control       -
>   Last-Modified       -
>   ETag                "1//morris.jpg"
>   Content-Length      8.8K (9059)
>   Server              Apache/2.0.47 (Red Hat Linux)
>
>   This object will be considered stale, because it doesn't have any
>   freshness information assigned. The object had changed when validation
>   was attempted.
>
> The best thing would be if an Last-Modified header was produced that
> matched the date when the file was last changed:
>
>   Validators are very important; if one isn't present, and there isn't
>   any freshness information (Expires or Cache-Control) available, most
>   caches will not store an object at all.
>
>   The most common validator is the time that the document last changed,
>   the Last-Modified time. When a cache has an object stored that
>   includes a Last-Modified header, it can use it to ask the server if
>   the object has changed since the last time it was seen, with an
>   If-Modified-Since request.
>
>   Almost all caches use Last-Modified times in determining if an object
>   is fresh; as more HTTP/1.1 caches come online, Etag headers will also
>   be used.
>
>   http://www.mnot.net/cache_docs/#VALIDATE
>
> Chris
>
> > > Chris Croome <ch...@webarchitects.co.uk> writes:
> > > >
> > > >   Caching Tutorial for Web Authors and Webmasters
> > > >   http://www.mnot.net/cache_docs/
> > > >
> > > >   Cacheability Engine
> > > >   http://www.mnot.net/cacheability/
>
> --
> Chris Croome                               <ch...@webarchitects.co.uk>
> web design                             http://www.webarchitects.co.uk/
> web content management                               http://mkdoc.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Chris Croome <ch...@webarchitects.co.uk>.
Hi

On Wed 06-Aug-2003 at 10:42:06 +0100, Chris Croome wrote:
> 
> On Wed 06-Aug-2003 at 10:25:01AM -0500, kfogel@collab.net wrote:
> > I think we did this in revision 6636, resolving issue #971.
> > 
> > Can you check the change against those docs and let us know if we
> > missed anything important?  That would be a big help, thanks...
> 
> OK, I need to upgrade from version 0.24.1 (r6278) first though!

Right I'm now running a new version:

 [root@atomism i386]# rpm -qa subversion
 subversion-0.26.0-6658

And there are still no Last-Modified headers being produced (The ETag
looks OK though):

  [chris@snowball chris]$ lynx -head -dump http://atomism.demon.co.uk/svn/repos/morris/morris.jpg
  HTTP/1.1 200 OK
  Date: Thu, 07 Aug 2003 16:11:19 GMT
  Server: Apache/2.0.47 (Red Hat Linux)
  ETag: "1//morris.jpg"
  Accept-Ranges: bytes
  Connection: close
  Content-Type: application/octet-stream

And as a result it's not very cache friendly:

  http://www.ircache.net/cgi-bin/cacheability.py?query=http://atomism.demon.co.uk/svn/repos/morris/morris.jpg

  Expires             -
  Cache-Control       -
  Last-Modified       -
  ETag                "1//morris.jpg"
  Content-Length      8.8K (9059)
  Server              Apache/2.0.47 (Red Hat Linux)

  This object will be considered stale, because it doesn't have any
  freshness information assigned. The object had changed when validation
  was attempted.
 
The best thing would be if an Last-Modified header was produced that
matched the date when the file was last changed:

  Validators are very important; if one isn't present, and there isn't
  any freshness information (Expires or Cache-Control) available, most
  caches will not store an object at all.

  The most common validator is the time that the document last changed,
  the Last-Modified time. When a cache has an object stored that
  includes a Last-Modified header, it can use it to ask the server if
  the object has changed since the last time it was seen, with an
  If-Modified-Since request.

  Almost all caches use Last-Modified times in determining if an object
  is fresh; as more HTTP/1.1 caches come online, Etag headers will also
  be used.

  http://www.mnot.net/cache_docs/#VALIDATE

Chris  

> > Chris Croome <ch...@webarchitects.co.uk> writes:
> > > 
> > >   Caching Tutorial for Web Authors and Webmasters
> > >   http://www.mnot.net/cache_docs/
> > > 
> > >   Cacheability Engine
> > >   http://www.mnot.net/cacheability/

-- 
Chris Croome                               <ch...@webarchitects.co.uk>
web design                             http://www.webarchitects.co.uk/ 
web content management                               http://mkdoc.com/   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
Hmmm.  We (well, I) moved issue #971 to Post-1.0 when it became clear
that it was no longer a "one hour fix".  It's still probably less than
a day, but unfortunately I can't promise we'll get to it before 1.0.

If you can persuade some developer that the change is needed sooner,
that would be great!  (I wish I could be that developer, but I'm
committed to resolving other issues first.)  Or, if you want to start
sending in patches, and become a developer, then you can do it
yourself eventually... But that may be more involvement than you were
looking for.

Meanwhile, can you put your suggestion

   > Any cache that is using last-modified should also obey
   > cache-control or expires. Therefore a simple pre-1.0 fix seems to
   > be to set last-modified and always set cache-control: no-cache
   > and expires headers so nothing will actually cache the
   > resources. At some later stage it would be possible to work out
   > what could be cached.

into the issue, so at least this first step is described for anyone
who takes a look?  Might want to link to your entire mail, too.

-Karl


"Damon Rand" <da...@cybermagic.co.nz> writes:
> > On Sat 09-Aug-2003 at 04:23:06PM -0500, Ben Collins-Sussman wrote:
> > > kfogel@collab.net writes:
> > >
> > > > His point, I think, is that if you do a checkout and get
> > > > specific revisions of specific files, then there's no reason caches
> > > > shouldn't be able to use this fact.  Yet our checkout caused no
> > > > caching at all -- what a waste.
> >
> > Yeah, it was originally raised by someone else I do think it would
> > be good to fix it.
> 
> Hi there,
>     I raised the original point (and it seems to have opened a proverbial
> worm can ;-) about last-modified headers.
> 
> I'll briefly explain the context of the problem I am running into..
> 
> I work for Amnesty International. We are using Subversion to hold the
> xml/xslt source code for some internal websites. We have an xml/xslt
> transformation server under Tomcat (similar to Cocoon) that accesses the
> source xslt/xml directly out of Subversion and creates a dynamic website.
> Not what you envisioned Subversion being used for? :-)
> 
> The live website is accessed from a versioned URL (eg.
> http://svn.xyz.net/repos/xyz.net/!svn/bc/64/branches/r1/) but the
> development versions are accessed from direct urls in trunk or branches (eg.
> http://svn.xyz.net/repos/xyz.net/trunk/).
> 
> So there are two cases.
> 
> 1) Can the production xslt being pulled from the versioned URL be cached?
> Obviously this will have performance implications for the production sites.
> Naturally there are workarounds involving copying the XSLT to flat files but
> the native subversion solution is neater and simpler.
> 
> 2) Development is done using XMLSpy and PUT requests straight into the
> repository trunk (or branches). The development website has a transformation
> engine pointing at the subversion trunk. The goal is to enable developers in
> different locations to be able to contribute -- hence the use of DAV for
> editing. Here it is more important to ensure that content is NOT cached or
> that the cache isn't operating too aggressively.
> 
> > > Maybe I misunderstood the thread.  I saw you guys looking at the
> > > ethereal trace of 1) GET requests on public URLs, and 2) PROPFINDs,
> > > and being surprised at not seeing 'Last-modified' headers anywhere.
> > > And I was just saying, well, yes, this is to be expected.
> >
> > Do you think it would be good to have them?
> 
> As you can see we are using Subversion for things beyond its original scope!
> The tool is so flexible and robust that these sort of edge use cases pretty
> much work as expected. In this case though, the lack of last-modified
> headers is a problem.
> 
> I don't understand the workings of Subversion with respect to diffed
> resources and the x-svn header but it seems to me in general that HTTP 1.0
> level caching should:
> 
> 1. Always include a last-modified header showing the last checkin time for a
> resource.
> 2. Set the expires/cache-control headers to show when a resource can or
> cannot be cached.
> 
> Any cache that is using last-modified should also obey cache-control or
> expires. Therefore a simple pre-1.0 fix seems to be to set last-modified and
> always set cache-control: no-cache and expires headers so nothing will
> actually cache the resources. At some later stage it would be possible to
> work out what could be cached.
> 
> This would solve my use-case 2) problem (overly aggressive caching is
> occuring because of lack of last-modified headers) and hopefully wouldn't
> cause too many new issues.
> 
> Regards,
> Damon.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Damon Rand <da...@cybermagic.co.nz>.
> On Sat 09-Aug-2003 at 04:23:06PM -0500, Ben Collins-Sussman wrote:
> > kfogel@collab.net writes:
> >
> > > His point, I think, is that if you do a checkout and get
> > > specific revisions of specific files, then there's no reason caches
> > > shouldn't be able to use this fact.  Yet our checkout caused no
> > > caching at all -- what a waste.
>
> Yeah, it was originally raised by someone else I do think it would
> be good to fix it.

Hi there,
    I raised the original point (and it seems to have opened a proverbial
worm can ;-) about last-modified headers.

I'll briefly explain the context of the problem I am running into..

I work for Amnesty International. We are using Subversion to hold the
xml/xslt source code for some internal websites. We have an xml/xslt
transformation server under Tomcat (similar to Cocoon) that accesses the
source xslt/xml directly out of Subversion and creates a dynamic website.
Not what you envisioned Subversion being used for? :-)

The live website is accessed from a versioned URL (eg.
http://svn.xyz.net/repos/xyz.net/!svn/bc/64/branches/r1/) but the
development versions are accessed from direct urls in trunk or branches (eg.
http://svn.xyz.net/repos/xyz.net/trunk/).

So there are two cases.

1) Can the production xslt being pulled from the versioned URL be cached?
Obviously this will have performance implications for the production sites.
Naturally there are workarounds involving copying the XSLT to flat files but
the native subversion solution is neater and simpler.

2) Development is done using XMLSpy and PUT requests straight into the
repository trunk (or branches). The development website has a transformation
engine pointing at the subversion trunk. The goal is to enable developers in
different locations to be able to contribute -- hence the use of DAV for
editing. Here it is more important to ensure that content is NOT cached or
that the cache isn't operating too aggressively.

> > Maybe I misunderstood the thread.  I saw you guys looking at the
> > ethereal trace of 1) GET requests on public URLs, and 2) PROPFINDs,
> > and being surprised at not seeing 'Last-modified' headers anywhere.
> > And I was just saying, well, yes, this is to be expected.
>
> Do you think it would be good to have them?

As you can see we are using Subversion for things beyond its original scope!
The tool is so flexible and robust that these sort of edge use cases pretty
much work as expected. In this case though, the lack of last-modified
headers is a problem.

I don't understand the workings of Subversion with respect to diffed
resources and the x-svn header but it seems to me in general that HTTP 1.0
level caching should:

1. Always include a last-modified header showing the last checkin time for a
resource.
2. Set the expires/cache-control headers to show when a resource can or
cannot be cached.

Any cache that is using last-modified should also obey cache-control or
expires. Therefore a simple pre-1.0 fix seems to be to set last-modified and
always set cache-control: no-cache and expires headers so nothing will
actually cache the resources. At some later stage it would be possible to
work out what could be cached.

This would solve my use-case 2) problem (overly aggressive caching is
occuring because of lack of last-modified headers) and hopefully wouldn't
cause too many new issues.

Regards,
Damon.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Chris Croome <ch...@webarchitects.co.uk>.
Hi

On Sat 09-Aug-2003 at 04:23:06PM -0500, Ben Collins-Sussman wrote:
> kfogel@collab.net writes:
> 
> > His point, I think, is that if you do a checkout and get
> > specific revisions of specific files, then there's no reason caches
> > shouldn't be able to use this fact.  Yet our checkout caused no
> > caching at all -- what a waste.

Yeah, it was originally raised by someone else I do think it would
be good to fix it.

> Maybe I misunderstood the thread.  I saw you guys looking at the
> ethereal trace of 1) GET requests on public URLs, and 2) PROPFINDs,
> and being surprised at not seeing 'Last-modified' headers anywhere.
> And I was just saying, well, yes, this is to be expected.

Do you think it would be good to have them?

> But maybe I read too quickly -- how do we know that the 'checkout
> caused no caching at all'?  It certainly should involve lots of GETs
> of version-resource-urls.

The ETag should be great for caches, the problem is that a lot,
including Squid, look for Last-Modified headers not ETags.

Another reason why I think it would be good to have them is because
it would enable someone to write a fairly simple script for GETing
and updating a set of files from a subversion repository and only
getting changed things by comparing a file system time stamp and a
Last-Modified date in a HEAD response. I'd like a simple bash (or
whatever) script that could run on any Linux box and only depended
on wget or lynx for updating stuff like this...

Chris  

-- 
Chris Croome                               <ch...@webarchitects.co.uk>
web design                             http://www.webarchitects.co.uk/ 
web content management                               http://mkdoc.com/   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
Ben Collins-Sussman <su...@collab.net> writes:
> Maybe I misunderstood the thread.  I saw you guys looking at the
> ethereal trace of 1) GET requests on public URLs, and 2) PROPFINDs,
> and being surprised at not seeing 'Last-modified' headers anywhere.
> And I was just saying, well, yes, this is to be expected.
> 
> But maybe I read too quickly -- how do we know that the 'checkout
> caused no caching at all'?  It certainly should involve lots of GETs
> of version-resource-urls.

All I know is, I didn't see any caching headers in the entire ethereal
trace of a Greek Tree checkout.  I assume this means that if I were
caching software, I also wouldn't have seen any caching headers :-).

> > Regarding Mike's concerns: did you read them?
> 
> Yup, totally valid concern.  See my comment in the issue.  It should
> be pretty simple to fix.

Saw it, thanks, makes sense.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Ben Collins-Sussman <su...@collab.net>.
kfogel@collab.net writes:

> But Chris is getting vsn-rsrc-urls in his .svn/ area eventually,
> right?  His point, I think, is that if you do a checkout and get
> specific revisions of specific files, then there's no reason caches
> shouldn't be able to use this fact.  Yet our checkout caused no
> caching at all -- what a waste.

Maybe I misunderstood the thread.  I saw you guys looking at the
ethereal trace of 1) GET requests on public URLs, and 2) PROPFINDs,
and being surprised at not seeing 'Last-modified' headers anywhere.
And I was just saying, well, yes, this is to be expected.

But maybe I read too quickly -- how do we know that the 'checkout
caused no caching at all'?  It certainly should involve lots of GETs
of version-resource-urls.

> Regarding Mike's concerns: did you read them?

Yup, totally valid concern.  See my comment in the issue.  It should
be pretty simple to fix.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
Ben Collins-Sussman <su...@collab.net> writes:
> Guys, this ain't rocket science.  The change that Karl and I made last
> week was to adding caching headers to *version-resource* urls only.  
> 
> Chris is busy looking for them on public URLs, where they certainly
> don't exist.  The value of a public URL changes all the time!

But Chris is getting vsn-rsrc-urls in his .svn/ area eventually,
right?  His point, I think, is that if you do a checkout and get
specific revisions of specific files, then there's no reason caches
shouldn't be able to use this fact.  Yet our checkout caused no
caching at all -- what a waste.

The client may have *requested* a URL whose meaning changes over time,
but what it got back was a specific revision of each file, and at some
point, the server must have handed it those vsn-rsrc-urls, because
.svn/ has them after the checkout yet the client certainly couldn't
have constructed them itself.

Regarding Mike's concerns: did you read them?

(This may not be rocket science, but that doesn't do us much good if we
can't tell the difference between it and rocket science :-) .)

-K

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Ben Collins-Sussman <su...@collab.net>.
kfogel@collab.net writes:

> Hmmm.  And Mike has just raised some correctness concerns too (he's
> adding them to issue #971 right now).
> 
> I'm going to revert the change for now, since a release is about to
> come out.

Guys, this ain't rocket science.  The change that Karl and I made last
week was to adding caching headers to *version-resource* urls only.  

Chris is busy looking for them on public URLs, where they certainly
don't exist.  The value of a public URL changes all the time!


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
Philip Martin <ph...@codematters.co.uk> writes:
> If I try something like that, the reason I don't get a Last-Modified
> header is the code (new in r6636) in dav_svn_set_headers
> 
> 1727      if (resource->type == DAV_RESOURCE_TYPE_VERSION)
> 1728        {
> 1729          /* Send 'Last-Modified', 'Expires', and 'Cache-Control' headers. */
> 1730          apr_time_t tyme;
> 1731          int retval;
> (gdb)  p resource->type
> $1 = DAV_RESOURCE_TYPE_REGULAR

I was just about to check that conditional :-)... Thanks, Philip.

Hmmm.  And Mike has just raised some correctness concerns too (he's
adding them to issue #971 right now).

I'm going to revert the change for now, since a release is about to
come out.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Philip Martin <ph...@codematters.co.uk>.
kfogel@collab.net writes:

> Chris Croome <ch...@webarchitects.co.uk> writes:
>> > Note you'll need to upgrade to HEAD; I don't think the change is
>> > in any released version yet.
>> 
>> OK, done:
>> 
>>   [root@atomism i386]# rpm -qa subversion
>>   subversion-0.26.0-6662
>>
>> But I still don't get a Last-Modified header:
>> 
>>   [chris@snowball chris]$ lynx -head -dump http://atomism.demon.co.uk/svn/repos/morris/morris.jpg

If I try something like that, the reason I don't get a Last-Modified
header is the code (new in r6636) in dav_svn_set_headers

1727      if (resource->type == DAV_RESOURCE_TYPE_VERSION)
1728        {
1729          /* Send 'Last-Modified', 'Expires', and 'Cache-Control' headers. */
1730          apr_time_t tyme;
1731          int retval;
(gdb)  p resource->type
$1 = DAV_RESOURCE_TYPE_REGULAR


-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
Chris Croome <ch...@webarchitects.co.uk> writes:
> > Note you'll need to upgrade to HEAD; I don't think the change is
> > in any released version yet.
> 
> OK, done:
> 
>   [root@atomism i386]# rpm -qa subversion
>   subversion-0.26.0-6662
>
> But I still don't get a Last-Modified header:
> 
>   [chris@snowball chris]$ lynx -head -dump http://atomism.demon.co.uk/svn/repos/morris/morris.jpg
>   HTTP/1.1 200 OK
>   Date: Thu, 07 Aug 2003 18:26:12 GMT
>   Server: Apache/2.0.47 (Red Hat Linux)
>   ETag: "1//morris.jpg"
>   Accept-Ranges: bytes
>   Connection: close
>   Content-Type: application/octet-stream

Can you post an ethereal trace of a checkout?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Chris Croome <ch...@webarchitects.co.uk>.
Hi

On Thu 07-Aug-2003 at 10:44:37AM -0500, kfogel@collab.net wrote:
> 
> Note you'll need to upgrade to HEAD; I don't think the change is
> in any released version yet.

OK, done:

  [root@atomism i386]# rpm -qa subversion
  subversion-0.26.0-6662

But I still don't get a Last-Modified header:

  [chris@snowball chris]$ lynx -head -dump http://atomism.demon.co.uk/svn/repos/morris/morris.jpg
  HTTP/1.1 200 OK
  Date: Thu, 07 Aug 2003 18:26:12 GMT
  Server: Apache/2.0.47 (Red Hat Linux)
  ETag: "1//morris.jpg"
  Accept-Ranges: bytes
  Connection: close
  Content-Type: application/octet-stream

Chris

-- 
Chris Croome                               <ch...@webarchitects.co.uk>
web design                             http://www.webarchitects.co.uk/ 
web content management                               http://mkdoc.com/   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
Chris Croome <ch...@webarchitects.co.uk> writes:
> OK, I need to upgrade from version 0.24.1 (r6278) first though!

Note you'll need to upgrade to HEAD; I don't think the change is in
any released version yet.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Chris Croome <ch...@webarchitects.co.uk>.
Hi

On Wed 06-Aug-2003 at 10:25:01AM -0500, kfogel@collab.net wrote:
> I think we did this in revision 6636, resolving issue #971.
> 
> Can you check the change against those docs and let us know if we
> missed anything important?  That would be a big help, thanks...

OK, I need to upgrade from version 0.24.1 (r6278) first though!

Chris

> Chris Croome <ch...@webarchitects.co.uk> writes:
> > 
> >   Caching Tutorial for Web Authors and Webmasters
> >   http://www.mnot.net/cache_docs/
> > 
> >   Cacheability Engine
> >   http://www.mnot.net/cacheability/

-- 
Chris Croome                               <ch...@webarchitects.co.uk>
web design                             http://www.webarchitects.co.uk/ 
web content management                               http://mkdoc.com/   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by kf...@collab.net.
I think we did this in revision 6636, resolving issue #971.

Can you check the change against those docs and let us know if we
missed anything important?  That would be a big help, thanks...

-Karl

Chris Croome <ch...@webarchitects.co.uk> writes:
> That's a good idea :-)
> 
> It would improve the cacheability of subersion, for more onfo on
> this:
> 
>   Caching Tutorial for Web Authors and Webmasters
>   http://www.mnot.net/cache_docs/
> 
> And a tool for checking cacheability:
> 
>   Cacheability Engine
>   http://www.mnot.net/cacheability/
> 
> Chris
> 
> On Wed 06-Aug-2003 at 09:53:24AM +0100, Damon Rand wrote:
> > 
> >   Here is the output from a HEAD request against subversion. I would like to
> > know how to convince Subversion to add last-modified headers?
> > 
> > HTTP/1.1 200 OK
> > Date: Wed, 06 Aug 2003 08:46:40 GMT
> > Server: Apache/2.0.47 (Win32) DAV/2 SVN/0.26.0
> > ETag: "59//www/trunk/pipelines/homepage/format-homepage.xsl"
> > Accept-Ranges: bytes
> > Connection: close
> > Content-Type: text/plain; charset=ISO-8859-1
> 
> -- 
> Chris Croome                               <ch...@webarchitects.co.uk>
> web design                             http://www.webarchitects.co.uk/ 
> web content management                               http://mkdoc.com/   
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to make mod_svn_dav return a last-modified header?

Posted by Chris Croome <ch...@webarchitects.co.uk>.
Hi

That's a good idea :-)

It would improve the cacheability of subersion, for more onfo on
this:

  Caching Tutorial for Web Authors and Webmasters
  http://www.mnot.net/cache_docs/

And a tool for checking cacheability:

  Cacheability Engine
  http://www.mnot.net/cacheability/

Chris

On Wed 06-Aug-2003 at 09:53:24AM +0100, Damon Rand wrote:
> 
>   Here is the output from a HEAD request against subversion. I would like to
> know how to convince Subversion to add last-modified headers?
> 
> HTTP/1.1 200 OK
> Date: Wed, 06 Aug 2003 08:46:40 GMT
> Server: Apache/2.0.47 (Win32) DAV/2 SVN/0.26.0
> ETag: "59//www/trunk/pipelines/homepage/format-homepage.xsl"
> Accept-Ranges: bytes
> Connection: close
> Content-Type: text/plain; charset=ISO-8859-1

-- 
Chris Croome                               <ch...@webarchitects.co.uk>
web design                             http://www.webarchitects.co.uk/ 
web content management                               http://mkdoc.com/   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org