favicon ポート番号指定時に表示されない。 †
- ページ: バグトラッキング
- 投稿者: NAKA
- 優先順位: 低
- 状態: 完了
- カテゴリー: クライアント
- 投稿日: 2005-10-29 22:08:44 (土)
- バージョン: build.2004100
一般的ではないかもしれませんが・・・。
アドレスにポート番号指定時(ex. http://www.----.com:8080/) favicon が表示されません。
よく行くサイトなので、出来れば対応いただきたく、よろしくお願いいたします。
(管理)
以下は公式ユーザーコミュニティでの作者のレス。
現在は Sleipnir の負荷を考慮し、<LINK> タグでの Favicon
には対応していません。将来的には対応するかもしれませんが、
現時点では仕様です。
作者さんは <LINK> タグのことは仕様と言っていますが、
ポート番号に関しては言及していません。
よって、この不具合は現段階では仕様とは呼べません。
- 不具合ではなく Favicon の取得が現在の所、そのドメインのルートの 80 番以外からは取得しない仕様になっているためです。随分、使い勝手の悪い仕様なのですが現状では変更する予定はないようです。あくまで、現在の所予定がないだけで今後は不明です。 --
- まあ、不具合ではなく仕様なので破棄にします。 --
- 作者さんが仕様だって言っていない以上、これは仕様ではなく不具合だろう。 --
- 現在は強制的にそのドメインのルートの 80 番から読み込もうとする仕様です。 --
- 作者が言っているのはあくまで <LINK> タグのことだろ。ポート番号については何も言っていない。 --
- プロクシを指定してパケットキャプチャしたら、普通のファイルは
GET http://***.com:8080/***.gif HTTP/1.1
とアクセスしていたのに、faviconのみ
GET http://***.com%3A8080/favicon.ico HTTP/1.1
とアクセスして
HTTP/1.0 500 Internal Proxy Error
というエラーになっていました。プロクシ指定しない場合は何故かキャプチャ出来なかったのですが、これを見る限りアクセス処理に間違いがある可能性が高いと思います。また80番ポートからは読み込もうとしていませんでした。 --
- これは
http://***.com:80/
のようにしたとしても
http://***.com%3A80/favicon.ico
として読み込むと思います。この原因はプログラム上で Winsock を使用するには ホスト情報の取得とポート番号の指定は別にしなければいけないのですが Perl 的正規表現で云えば
/^http:\/\/(.+?)\//
みたいな感じで(最初の "/" まで取得する) URL から取得しているようなのでこれが原因なのでしょうね。実際には Sleipnir2 側のプログラムではどういう風に取得しているのかは分かりませんが先ほどと同様に Perl 正規表現風に書けば
/^http:\/\/(.+?):?(\d*)\//
で $1 がホスト名, $2 がポート番号で空なら 80 番を指定するように修正しないといけませんね。ポート番号を指定する場合を考慮していなかったのが原因で不具合っちゃあ不具合なんですけど。 --
- これもいつまでも直らないねぇ。すごい簡単な修正だと思うんだけど --
- 直さない理由でもあるんじゃね --
- 直っているようなので完了にしておきます。 --