gzip圧縮されたRSSフィードに対応したRSSリーダーは?

Posted by
ぴろり
Posted at
2007/03/06 20:47
Trackbacks
関連記事 (1)
Comments
コメント (2)
Post Comment
コメントできます
Category
電算室 カテゴリ

 先日,コンテンツをgzip圧縮して出力するMovableTypeプラグインを作成し, 早速これを用いてをgzip圧縮するようにしていました。 フィードは数十分〜数時間程度の短い間隔で頻繁にアクセスされることから, 圧縮による転送量削減の効果が期待できると思ったからです。
 しかしリーダーの中にはgzip圧縮されたには対応していないものがあるようです。 そこで幾つかのクライアント/リーダーについてこれを調べてみました。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する

手順 ('07/03/07 追記)

  1. 正しく読める 1.0 のフィード index.rdf を用意する
  2. 各クライアントから index.rdf を購読してみる
  3. gzip を用いて index.rdf を圧縮し index2.rdf.gz を生成する
  4. 各クライアントから index2.rdf を購読してみる

 サーバへのリクエスト中に Accept-Encoding: gzip,deflate があるなしに関わらず、 index2.rdf へのレスポンスは常に圧縮されたデータが返されるという状態で、 夫々のクライアントの挙動を見てみました。 元から Accept-Encoding を送出してくるクライアントであれば通常通りに動作し、 未圧縮のデータしか受け付けないクライアントであれば何かしら不具合が出ると予想されます。 このことから各クライアントがフィードの圧縮転送に対応しているかが判ります。

アプリケーション 表示購読備考
はてなRSS - NG フィードを登録できない。「フィードが見つかりませんでした」のメッセージ
livedoor Reader - NG フィードを登録できない。「登録可能なフィードが見つかりませんでした」のメッセージ
Google Reader - OK
SharpReader - OK v.0.9.7.0
Mozilla Thunderbird - OK
Mozilla Firefox OK OK Live Bookmark, 1.5
Internet Explorer OK -
Opera OK OK 9.1
Netscape OK -7.1

 コンテントネゴシエーションの来の使い方から言えば当然のことですが、 横着をして *.rdf.gz だけ用意しておくのではダメなようで orz  基はgzip圧縮されたデータを返すけれど、 未対応のクライアント用にも生データを用意しておく必要があります。 …って、mod_deflate を使えば一発か!

  リーダの中には If-Modified-Since を解せずに 毎回フィード全体を取得していくものがあったりします。 サーバが 304 Not Modified を返せるようになるだけで負担は大きく違うと思うので, リーダー開発者の方には是非とも対応して頂きたいところです。 更に贅沢を言えば今回調べてみた gzip 圧縮転送に対応したものが増えてくれるともっと嬉しいですね。


この記事を読んだ人はこんな記事も読んでいます ?

その他の関連する記事


関連記事/トラックバック (全 1 件中、最新 5 件まで表示しています)

Open MagicVox.net のスクリーンショット
タイトル
RSSリーダーから送出されるHTTPリクエストヘッダ
Trackbacked at
2007/03/07 13:29
from
Open MagicVox.net
評価
Web Scouter
概要
 先の"gzip圧縮されたRSSフィードに対応したRSSリーダーは?" という記事で,幾つかのRSSリーダーについてgzip圧縮されたRSSフィードを扱...

この記事にトラックバックを送るには?

寄せられたコメント (全 2 件中、最新 5 件まで表示しています)

Posted by
ぴろり ◆OLEEi.VOX.
at
2007/03/07 07:18
ID
kgnA6XjI

今回はサーバ側に圧縮された*.rdf.gzだけを置いて、未圧縮の*.rdfが無い状態で試行しました。
リクエスト中にAccept-Encodingがあるなしに関わらず、常に圧縮されたデータが返されるという状態です。
そのため未圧縮データを要求するクライアントに対しても問答無用に圧縮データを返すわけで、
サーバの動作としては不正なわけですね。

ご指摘のように記述が不十分で誤解を招いていましたので追記してみました。

Posted by
mala
at
2007/03/06 23:04
ID
efYQC6LM

登録できない、というのは語弊があると思うのですが。
Accept-Encodingを送ってないクライアントに対して
gzip圧縮されたファイルを返すとしたら、それはウェブサーバー側の問題ですよね。

コメントを投稿する

 (必須/公開)
 (必須/非公開)
 

コメントスパム防止のため投稿前に ランダムな数字 ? を入力してから投稿してください。 お手数ですがご協力のほど宜しくお願いいたします。(必須)