May 20, 2004

This article by Jon Udell Random access to Web audio is interesting to me because it talks about tunneling HTTP headers in a URI.
What's missing?
  • A Web server convention for accepting parameterized URLs like the ones Ari Luotonen proposed way back when.

  • I think this concept applies to more than just Accept-Range headers. I've found it a very useful concept for indicating preferred content-types (the Accept header). In a more extreme vein, indicating PUT or DELETE semantics when in a constrained browser environment may also be useful.

    Many, many jobs ago I built out a system that does just this - using "do:" as a prefix and using the literal HTTP header name. For example:

    • do:accept=text/xml to receive XML

    • do:accept-language=fr_ca to receive Canadian 'French'

    • do:method=put to use PUT semantics for replacing a resource

    (In fact, the remnants are in an Apache XML project called Xang - a Web application framework with request dispatching, XML data sources, etc. etc...)

    In Jon's example, something like do:range=bytes=15105006- could be used to specify a byte-range offset.

    As for Jon's concern about using bytes where time would be more user friendly, HTTP defines 'bytes' but allows for application specific extensions. (see RFC 2616). We should define a range units of 'time' with a syntax of HH:MM:SS or something derived from the ISO8601 time format specification.

    No comments: