Tim,
The following is everything I know about the Accept: problem. Can you show me what's causing my problems?


Yosi

-----

On January 29, 2007, Tim Berners-Lee made the following change to cwm's http code. [1] This was labeled with the reason
Separate Accept: headers for buggy servers
It was noticed yesterday [2] that this fix was broken; you cannot have more than one header in python's urllib libraries, and the code was changed back. When asked today about these ``buggy servers'', Tim referenced the server configurations given by Best Practices [3], saying they were brittle and could not handle Accept: header that allowed for something other than rdf/xml, as indeed cwm will accept other things. I don't know how to read Apache rewrite rules, so I'm not sure what I'm looking for. Perhaps it is the rule [4] saying

# Rewrite rule to serve RDF/XML content if requested
RewriteCond %{HTTP_ACCEPT} application/rdf\+xml
RewriteRule ^example4/ example4-content/2005-10-31.rdf [R=303]

I was told to e-mail [EMAIL PROTECTED] , but I cannot do this until I know what the problem is.





[1] http://dev.w3.org/cvsweb/2000/10/swap/webAccess.py.diff? r1=1.27&r2=1.28&f=h
===================================================================
RCS file: /sources/public/2000/10/swap/webAccess.py,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- 2000/10/swap/webAccess.py   2007/01/25 20:26:50     1.27
+++ 2000/10/swap/webAccess.py   2007/01/29 18:54:03     1.28
@@ -5,7 +5,7 @@
 dereferencing a URI to get a document, with content negotiation,
and deciding on the basis of the Internet Content Type what to do with it.

-$Id: webAccess.py,v 1.27 2007/01/25 20:26:50 timbl Exp $
+$Id: webAccess.py,v 1.28 2007/01/29 18:54:03 timbl Exp $


 Web access functionality building on urllib2
@@ -73,7 +73,9 @@
 #        return open_data(addr)
         return urllib.urlopen(addr)   # buggy in 2.4.2 with CStringIO
     z = urllib2.Request(addr)
-    z.add_header('Accept', 'text/rdf+n3, application/rdf+xml')
+#    z.add_header('Accept', 'text/rdf+n3, application/rdf+xml')  # Fine
+ z.add_header('Accept', 'text/rdf+n3') # Split for some broken sites
+    z.add_header('Accept', 'application/rdf+xml')
     if referer: #consistently misspelt
         z.add_header('Referer', referer)
 #    z.add_header('Accept', 'text/plain q=0.1')


=======================================

[2] http://lists.w3.org/Archives/Public/public-cwm-bugs/2007Jul/ 0000.html
[3] http://www.w3.org/TR/swbp-vocab-pub/
[4] http://www.w3.org/TR/swbp-vocab-pub/#recipe4

Reply via email to