In addition to the lack of Apache support that James mentions, I
see three problems:
If the bloginfo changes, it will never be resent.
The client is responsible for remembering the original
encoding,
which again, hopefully never changes.
Few platforms (actually, none that I know of) have support for
parsing XML fragments (sets of elements).
The second issue could be mitigated by adding the
charset
to the Content-Type header, something that should be done
anyway.
The second and third issues could be addressed by clients which
retain a full copy, byte for byte, of the data that they originally
received from the server. Such implementations would be faced
with ever increasing storage requirements as this implementation
never deletes any data.
The issues that Sam identifies are precisely those that motivated me to propose the "feed" instance-manipulation method. [link]
The idea behind "feed" is that its use results in the "complete XML documents" that Sam prefers. Thus, support by clients is made much easier than if we try to convince folk to support the sometimes more efficient, certainly more traditional, but more complex byte-oriented methods. The response generated by using "feed" IM looks to the client software like any other feed file. The fact that the "feed" IM was used is only visible in the HTTP headers.
My hope is that we can move folk to support RFC3229 in two steps. First, we would implement "feed" within the still relatively closed world of blogging and syndication. This can be done with minimal impact on "the rest of the web." Then, once people see the clear benefits of delta encoding for blogging, my hope is that more an more general implementations of RFC3229, including byte-oriented IM methods, would be deployed. Hopefully, the more "community spirited" Open Source browsers like Mozilla and servers like Apache will lead in supporting the RFC3229 standard... After what will inevitably be a long adoption period, we'll have a much more efficient and responsive web to work with...
The first step is to get news aggregators and blog servers to work with the "feed" IM method -- or something superior, if defined... RFC3229, with "feed" is very easy to implement for blogging...
The 'feed' IM is ideal; however, to the issues Sam raises above i made a few more mods. Specifically, for the 'diffe' IM, a full XML file is always sent wrapped in the appropriate ed commands. So the output is identical to the 'feed' IM with the addition of the few ed commands. Mark Pilgrim's Ultra Liberal Feed Parser handles the interspersed ed commands just fine. :-) So as for my aggregator, i just need to add the A-IM header with either the 'feed' or 'diffe' method and i'm golden.
Garret Rooney has announced an Apache filter module which provides RFC3229 "feed" delta-encoding. See: [link]
Also, Paul Burdick has announced in a comment on my blog [link] that he's built RFC3229 "diffe" and "feed" support for the pMachine ExpressionEngine. See: [link]
These two announcements, when added to James Robinson's support for WordPress which was announced earlier, mean we've now got three implementations in various states of completion. Excellent!
Related to Joe's post about Microsoft's RSS bandwidth issues, I'm seeing a lot of talk about the blogosphere about an RFC from January 2002: RFC 3229, "Delta encoding in HTTP." The idea behind this RFC is to just send the deltas — the changes...