22 Jan 2005 gicmo   » (Master)

Http, webdav, standarts and other nightmares
It's the third day now I am trying to "fix" 164155, and 164019. It is not really fixing because the gnome-vfs http module acts totally standart conform. It's working around other peoples broken code. But first things first. While I was rewriting the http module for GNOME 2.8 I reached the conclusion that the webdav and/or http RFC could be better and more accurate on many places. Some of the real big problems are due to the fact the webdav is superset of HTTP/1.1 and tries to be downwards compatible to that. On some places it lacks even so basic things that calling it a network file system is more than megalomaniac.
But that's not the biggest problem if you wanna implement a http/webdav client. The real problems are totally borken servers and scripts:
  1. Some server just understand a small subset of HTTP e.g. the Google WS terminates connection on OPTIONS (that's already defined in HTTP/1.0)
  2. Icecast/Shoutcast servers start streaming on any request or respond with "ICY" instead if "HTTP"
  3. And now last but not least - my new personal enemies - kiddy script engines (yes e.g. php). You send a OPTIONS request - you get the page. You sent a PROPFIND request - you get the normal page. Hey dear script engine coders if you don't know how to deal with a request method just send a "Method not supported".
Not to mention that even Apache sends a body on OPTIONS. Why the hell does anybody need a html message on OPTIONS.
So I am going to commit a bunch a code tomorrow that tries to work aorund all that http/webdav weaknesses,all that broken servers and kiddie scripting engines. I really wonder why we have something like standarts at all if nobody cares and how this "internet thing" actually works with all that broken code out there :) Puh!. Yes I am feeling better now!

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!