- From: Diego Berrueta <diego.berrueta@fundacionctic.org>
- Date: Thu, 26 Feb 2009 14:01:38 +0100
- To: Alistair Miles <alistair.miles@zoo.ox.ac.uk>
- CC: Antoine Isaac <aisaac@few.vu.nl>, SWD WG <public-swd-wg@w3.org>, Sergio Fernández <sergio.fernandez@fundacionctic.org>
Antoine, Alistair, Sorry for the belated response. We've been making some tests to analyse the problem with Recipe 3 in order to trace the issue found by Antoine. We discovered that it is due to the precedence of the User Agent check over the Accept header check. In other words, when the User Agent is Mozilla (or Mozilla-compatible), Recipe 3 --as it is now-- always returns RDF, regardless of the Accept header. We have found this formula to fix this issue without breaking the other cases (see my messages from August'08: [1] and [2]): ==== RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+xml) RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml [OR] RewriteCond %{HTTP_ACCEPT} text/html RewriteRule ^example3$ example3-content/2005-10-31.html [R=303] RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml RewriteCond %{HTTP_USER_AGENT} ^Mozilla/.* RewriteRule ^example3$ example3-content/2005-10-31.html [R=303] RewriteCond %{HTTP_ACCEPT} application/rdf\+xml RewriteRule ^example3$ example3-content/2005-10-31.rdf [R=303] RewriteRule ^example3$ example3-content/2005-10-31.rdf [R=303] ==== If you compare these rules and the ones in the published Note [3], the difference is that we split the first RewriteRule into two new ones. The purpose is to serve HTML to Mozilla-compatible user agents *only* if the do not explicitly ask for RDF. Take into account that we do not master Apache rewrite rules, consequently there may be a more optimal solution to the same problem. At the same time, we have introduced a few changes and bugfixes in Vapour. The most remarkable one is the ability to customize the value of the User-Agent header sent by Vapour. With this new feature, you can easily debug which result will be returned to Mozilla-compatible browsers. For instance, you can test the current example of Recipe 3 with a non-Mozilla [4] and a Mozilla-compatible User Agent [5]. These results confirm the issue spotted by Antoine. In our next telecon, we can discuss this issue and whether we should change the Recipes (3 to 6) and publish a new version of the Note. Best, Diego and Sergio. [1] http://lists.w3.org/Archives/Public/public-swd-wg/2007Jul/0130.html [2] http://lists.w3.org/Archives/Public/public-swd-wg/2007Aug/0008.html [3] http://www.w3.org/TR/swbp-vocab-pub/#recipe3example [4] http://validator.linkeddata.org/vapour?vocabUri=http%3A%2F%2Fwww.w3.org%2F2006%2F07%2FSWD%2Frecipes%2Fexamples-20080421%2Fexample3&classUri=http%3A%2F%2F&propertyUri=http%3A%2F%2F&instanceUri=http%3A%2F%2F&htmlVersions=1&defaultResponse=dontmind&userAgent=vapour.sourceforge.net [5] http://validator.linkeddata.org/vapour?vocabUri=http%3A%2F%2Fwww.w3.org%2F2006%2F07%2FSWD%2Frecipes%2Fexamples-20080421%2Fexample3&classUri=http%3A%2F%2F&propertyUri=http%3A%2F%2F&instanceUri=http%3A%2F%2F&htmlVersions=1&defaultResponse=dontmind&userAgent=Mozilla%2F5.0 Alistair Miles escribió: > Hi Antoine, > > It may be that the User-Agent header is causing the Accept header to > be overridden. > > I don't have access to the config for the 2008/05 namespace, but it's > probably using some variant of [recipe 3]. There have been some minor > changes to this recipe since I worked on it, so I'm not sure exactly > how it will behave with both an Accept: application/rdf+xml header and > a User-Agent: Mozilla/... header, you'd have to ask diego. Ralph can > confirm the .htaccess rules that are in place. > > Cheers, > > Alistair > > [recipe 3] http://www.w3.org/TR/swbp-vocab-pub/#recipe3 > > On Thu, Feb 12, 2009 at 04:39:02PM +0100, Antoine Isaac wrote: >> Hi everyone, >> >> Related to getting the SKOS RDF file by it default URI (or at least to test that ability), I wanted to change my browser's headers so that it asks for RDF data and not HTML anymore. >> Following Sean's advice, I have installed the ModifyHeader plug-in for Firefox (I'm still at version 2.0). >> >> I now have the following problem. >> I have changed the Accept header sent by my Firefox to application/rdf+xml (only) >> On dbPedia, when it queries [1] , Firefox gets redirected to the RDF file [2]. Perfect! >> But when it queries for the SKOS 2008 file [3], Firefox gets redirected to [4] and not to [5]. >> >> How come? What is puzzling is that Vapour [6] reports that everything is ok with both URIs [1] and [3], even though the behaviours differ when there is no content negociation. Interestingly, Vapour itself recognizes my Accept headers: when I activate the application/rdf+xml only, it sends its reports in RDF, while it sends the HTML if I do nothing. >> >> Is there something more than Accept header involved? Has my plug-in bugs, or am I just too dumb to think of myself playing with that kind of stuff? >> >> Thanks for any feedback, >> >> Antoine >> >> >> [1] http://dbpedia.org/resource/William_Shakespeare >> [2] http://dbpedia.org/data/William_Shakespeare.rdf >> [3] http://www.w3.org/2008/05/skos >> [4] http://www.w3.org/TR/2008/WD-skos-reference-20080829/skos.html >> [5] http://www.w3.org/TR/2008/WD-skos-reference-20080829/skos.rdf >> [6] http://validator.linkeddata.org/ >> >> ======================== >> >> http://www.w3.org/2008/05/skos >> >> GET /2008/05/skos HTTP/1.1 >> Host: www.w3.org >> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20 >> Accept: application/rdf+xml >> Accept-Language: fr,en-us;q=0.8,fr-fr;q=0.5,en;q=0.3 >> Accept-Encoding: gzip,deflate >> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 >> Keep-Alive: 300 >> Connection: keep-alive >> >> HTTP/1.x 303 See Other >> Date: Thu, 12 Feb 2009 15:13:21 GMT >> Server: Apache/2 >> Location: http://www.w3.org/TR/2008/WD-skos-reference-20080829/skos.html >> Cache-Control: max-age=21600 >> Expires: Thu, 12 Feb 2009 21:13:21 GMT >> Content-Length: 269 >> Connection: close >> Content-Type: text/html; charset=iso-8859-1 >> >> >> >
Received on Thursday, 26 February 2009 13:01:33 UTC