git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: bug with gitweb on kernel.org

From
JJ.H. <warthog19@eaglescrag.net>
Date
Apr 24, 2007, 07:50 UTC
Message-ID
<1177401048.5357.27.camel@localhost.localdomain>
In-Reply-To
<200704240933.58680.johherla@online.no>
On Tue, 2007-04-24 at 09:33 +0200, Johan Herland wrote:
Show 42 quoted lines
> On Tuesday 24 April 2007, J.H. wrote:
> > On Tue, 2007-04-24 at 03:06 +0200, Jakub Narebski wrote:
> > > J.H. wrote:
> > > > Well the only difference in the pages being served is the mime
> > > > type application/html vs. application/xhtml+xml.  Does anyone
> > > > know the original impetus to using application/xhtml+xml (despite
> > > > the fact that it's technically the correct choice) vs. just using
> > > > application/html for everything?  I'm sure there was a good
> > > > reason behind it and I'd rather know what that reason was before
> > > > I got changing things
> > >
> > > The idea was to serve application/xhtml+xml to browsers which
> > > _explicitely_ support it. But coupled with the fact that gitweb on
> > > kernel.org is modified gitweb with caching, and it looks like it
> > > caches also HTTP headers... I think simplest solution would be to
> > > remove complication, and always serve text/html (at least for
> > > kernel.org gitweb with caching modifications).
> >
> > It's either that or store only the data not the headers and deal with
> > the headers on each request - but that might have other unintended
> > consequences I haven't thought of yet.  Anyway I think your right -
> > short term solution if nothing else is serve out text/html and look
> > more closely at the problem when I rebase.
> 
> Actually, if the caching mechanism supports the spec properly 
> (specifically RFC 2616, section 14.44), you should be able to work 
> around this, without disabling the cache:
> 
> You can return different responses to different clients as long as you 
> use the HTTP Vary header (RFC 2616, section 14.44) to indicate the 
> criteria for selecting which response to return.
> 
> Finally, you can use the client's HTTP Accept header to figure out 
> whether the browser support XHTML or not. Basically just check 
> if "application/xhtml+xml" is listed with a greater (or equal, but 
> non-zero) Q-value than "text/html". I've attached a snippet of python 
> code that I use in my webapps for this purpose. It should be easily 
> translatable to the language of your choice.
> 
> A similar solution using PHP is sketched out here: 
> http://keystonewebsites.com/articles/mime_type.php
> 

I'm not even remotely following a normal caching RFC. The code is all up online if you want to look at it http://git.kernel.org/?p=git/warthog9/gitweb.git;a=summary it's not pretty but it works, and if nothing else it will give me a decent number of data points and such for when I do the rebase that I can take into consideration.

- John
Previous: J.H.
Message 13 of 13 in “bug with gitweb on kernel.org”
  1. Nicolas PitreApr 20, 2007
  2. J.H.Apr 23, 2007
  3. Nicolas PitreApr 23, 2007
  4. J.H.Apr 23, 2007
  5. H. Peter AnvinApr 24, 2007
  6. H. Peter AnvinApr 24, 2007
  7. Johan HerlandApr 24, 2007
  8. Jakub NarebskiApr 24, 2007
  9. J.H.Apr 24, 2007
  10. Johan HerlandApr 24, 2007
  11. Johan HerlandApr 24, 2007
  12. J.H.Apr 24, 2007
  13. J.H.Apr 24, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.