RSSを吐き出す部分を実装中 / Pound 1.6 + Apache 2.0.48 + PHP 4.3.4のWebサーバにHTTP/1.0を使ってアクセスできない
投稿日: 2004年02月16日 更新日: 2017年07月22日
RSSを吐き出す部分を実装中
パースするのと違ってすごく簡単。RSS - サイト情報の要約と公開を参考にした。
Pound 1.6 + Apache 2.0.48 + PHP 4.3.4のWebサーバにHTTP/1.0を使ってアクセスできない
HTTP/1.0を使っている端末・ツール、たとえば以下のような環境から現象を確認
- iモード端末(SO505i)
- wget
- PHPのPEAR/XML/RSS.php(内部ではソケットとか使ってるのかな?)
- Google等のクローラ
これらの端末からPoundを通してApache2から呼び出されるPHPが生成したページにアクセスすると、0バイトの空データしか取得できない。もちろんHTTP/1.1なブラウザからはデータが表示される。
原因はPoundの仕様によるものだった。HTTP/1.0の場合Content-Lengthは必須となる、にも拘らずバックエンドのApacheがContent-Lengthを含まないレスポンスをPoundに返した場合にクライアントには空データが渡される。
今回のケースではPHPの生成したページにContent-Lengthが含まれていなかった。解決策としてはPHPで出力バッファリングを使いContent-Lengthを出力するか、Poundの挙動を変更するかどちらか。
幸いPound-Cuurentでそれっぽい修正がされているので試してみたら空データにならなくなった。iモード端末からも確認できた。
PHP側にContent-Lengthを出力する変更も加えよう。
この記事へのコメント
※ このコメントは旧ブログシステム(tDiary)からの移行です。
drryさんからのコメント(2005-04-17 01:44:35)
このコメント SPAM のせいで 13 日から RSS がパースエラーっす。
hajimeさんからのコメント(2005-04-18 23:05:08)
ほんとですね、ありがとうございます。手動で直しましたー。
名前:宮内 はじめ
Code for Nagoya名誉代表
E2D3名古屋支部長
プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。
Tags
Archives
- 2003/06
- 2003/07
- 2003/08
- 2003/09
- 2003/10
- 2003/11
- 2003/12
- 2004/01
- 2004/02
- 2004/03
- 2004/04
- 2004/05
- 2004/06
- 2004/07
- 2004/08
- 2004/09
- 2004/10
- 2004/11
- 2004/12
- 2005/01
- 2005/02
- 2005/03
- 2005/04
- 2005/05
- 2005/06
- 2005/07
- 2005/08
- 2005/09
- 2005/10
- 2005/11
- 2005/12
- 2006/01
- 2006/02
- 2006/03
- 2006/04
- 2006/05
- 2006/06
- 2006/07
- 2006/08
- 2006/09
- 2006/10
- 2006/11
- 2006/12
- 2007/01
- 2007/02
- 2007/03
- 2007/04
- 2007/05
- 2007/06
- 2007/07
- 2007/08
- 2007/09
- 2007/10
- 2007/11
- 2007/12
- 2008/01
- 2008/02
- 2008/03
- 2008/04
- 2008/05
- 2008/06
- 2008/07
- 2008/08
- 2008/09
- 2008/10
- 2008/11
- 2008/12
- 2009/01
- 2009/02
- 2009/03
- 2009/04
- 2009/05
- 2009/09
- 2009/10
- 2009/11
- 2009/12
- 2010/01
- 2010/02
- 2010/03
- 2010/04
- 2010/05
- 2010/06
- 2010/07
- 2010/10
- 2010/12
- 2011/01
- 2011/02
- 2011/03
- 2011/04
- 2011/05
- 2011/06
- 2011/07
- 2011/09
- 2011/10
- 2011/11
- 2011/12
- 2012/01
- 2012/02
- 2012/03
- 2012/04
- 2012/10
- 2015/05
- 2015/12
- 2016/02
- 2016/03
- 2016/04
- 2016/05
- 2017/01
- 2017/07
- 2017/08
- 2017/12
- 2018/03
- 2018/04
- 2018/05
- 2018/10
- 2020/07