1

Chrome がアクセスする各ページで favicon を要求し続けることを読みました ( link )。見つからない場合 (404 Not found)、Chrome は無限ループに入ります。

Firefox や Safari では問題なく動作しますが、私のアプリでも同様のことが起こっているのではないかと心配しています。見つけたすべてのフォーラムを調べた後、これを防ぐ方法が見つかりませんでした。

問題のあるリクエストの前の http ヘッダーは次のとおりです。

GET /url?file_id=0B0orkZUr6JxAdmViVmNuTG5XbFU HTTP/1.1
Host: glinksapp.appspot.com:443
Accept: image/webp,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: SID=DQAAAHABAACKf5HqkBRzvi3HwJrZJ1nW31wx9PEvsqASLQKFZts0Ux1pWFwk...[cut]
Referer: https://www.google.es/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36
X-Chrome-UMA-Enabled: 1
X-Chrome-Variations: COS1yQEIl7bJAQiptskBCMG2yQEIm4TKAQj4hMoBCLeFygEIwoXKAQjRhcoB
X-Purpose: Instant

HTTP/1.1 302 Found
content-length: 0
content-type: text/html
date: Sun, 14 Jul 2013 08:59:56 GMT
location: https://drive.google.com/#folders/0B0orkZUr6JxAVk9xT3QxcXBpdWs
server: Google Frontend
status: 302 Found
version: HTTP/1.1

これは Chrome の無限ループです。

GET /favicon.ico HTTP/1.1
Host: drive.google.com:443
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: NID=67=fwmd6KsM_Y0xNrRMQlSSpVVmsKTgAi8v4AlG9A...[cut]
PREF=ID=ad9194453b59885b:FF=0:LD=en:TM=1373791886:LM=1373792185...[cut]
SID=DQAAAHABAACKf5HqkBRzvi3HwJrZJ1nWZBxbrbYxeGjE4p130PeYTaQhalIhrt6T-...[cut]
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36
X-Chrome-UMA-Enabled: 1
X-Chrome-Variations: COS1yQEIl7bJAQiptskBCMG2yQEIm4TKAQj4hMoBCLeFygEIwoXKAQjRhcoB

HTTP/1.1 404 Not Found
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-encoding: gzip
content-length: 117
content-type: text/html; charset=UTF-8
date: Sun, 14 Jul 2013 08:59:56 GMT
expires: Fri, 01 Jan 1990 00:00:00 GMT
pragma: no-cache
server: GSE
status: 404 Not Found
version: HTTP/1.1
x-chromium-appcache-fallback-override: disallow-fallback
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block

ページを更新すると、アプリはループから抜け出します。

私のJavaアプリのURLはhttp://glinksapp.appspot.comであり、Google App Engine でホストされています。リンク ファイル (webloc、url...) を Google ドライブ (デフォルトでは Google が提供していないもの) で直接開くためのドライブ アプリです。

問題は、アプリが「drive.google.com/favicon.ico」にアクセスしようとしたときに、404 の「見つかりません」ループに入らないようにするにはどうすればよいかということです。

事前にThx。

4

1 に答える 1

1

Chrome やその他のブラウザーは自動的にファビコンを要求しますが、404 を取得しても無限ループには入りません (これは多くのサイトで発生するため、大きな問題になります)。あなたが投稿したリンクには、Android 上の Chrome が apple-touch-icon ファイルも要求する可能性があると書かれていますが、それは問題ありません。

質問に貼り付けた HTTP 404 応答はまったく問題ないようです。302 リダイレクトも問題ないようです。したがって、あなたが経験している問題は、ファビコンとは関係のない別のものであると思われます.

于 2013-07-14T14:28:36.203 に答える