過去ログ表示


過去ログ 260 を表示

トピック内全 11 記事中の 1 〜 10 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1]

忍者TOOLS のブログで CSS が読み込まれない
(#40843) このトピック中1番目の投稿
(環境: Linux/Firefox2.0)

 忍者ツールズのブログを見るときに、なぜか CSS ファイルのリクエストが飛ばず、CSS 未反映の状態でブログが表示されます。CSS ファイルのリクエストが飛ばない理由がわからず困っております。
 どなたか原因の分かる方はいらっしゃらないでしょうか?
 なおこの現象は Windows 版の Firefox 2.0.0.11 でも、この現象が生じることを確認しております。


【環境】
OS:Ubuntu 7.10
Browser:Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

【現象】
 忍者TOOLS のブログで CSS が読み込まれない。Firefox が CSS をリクエストしない。


【Live HTTP Headers のログ】
http://xul.blog.shinobi.jp/Entry/49/



GET /Entry/49/ HTTP/1.1

Host: xul.blog.shinobi.jp

User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Accept-Language: ja,en-us;q=0.7,en;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: UTF-8,*

Keep-Alive: 300

Connection: keep-alive



HTTP/1.x 200 OK

Date: Tue, 29 Jan 2008 11:48:48 GMT

Server: Apache

Set-Cookie: unq=1; expires=Wed, 30-Jan-2008 00:00:00 GMT; path=/

Connection: close

Transfer-Encoding: chunked

Content-Type: text/html; charset=UTF-8

----------------------------------------------------------

http://xul.blog.shinobi.jp/favicon.ico



GET /favicon.ico HTTP/1.1

Host: xul.blog.shinobi.jp

User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

Accept: image/png,*/*;q=0.5

Accept-Language: ja,en-us;q=0.7,en;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: UTF-8,*

Keep-Alive: 300

Connection: keep-alive

Cookie: unq=1



HTTP/1.x 302 Found

Date: Tue, 29 Jan 2008 11:48:48 GMT

Server: Apache

Location: http://mu.shinobi.jp/

Content-Length: 0

Connection: close

Content-Type: text/html; charset=utf-8

----------------------------------------------------------

http://mu.shinobi.jp/



GET / HTTP/1.1

Host: mu.shinobi.jp

User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Accept-Language: ja,en-us;q=0.7,en;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: UTF-8,*

Keep-Alive: 300

Connection: keep-alive



HTTP/1.x 200 OK

Date: Tue, 29 Jan 2008 11:48:48 GMT

Server: Apache

Set-Cookie: ptn=1; path=/; domain=mu.shinobi.jp

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

Transfer-Encoding: chunked

Content-Type: text/html; charset=UTF-8

----------------------------------------------------------



【気になる点】
 ブログのソースを見ると、外部 CSS をしている link 要素の記述において、ファイル名が指定されておらず、以下のようになっている。
    <link rel="stylesheet" href="http://xul.blog.shinobi.jp/css/" type="text/css">

以上です。

Re[1]: 忍者TOOLS のブログで CSS が読み込まれない
(#40847) このトピック中2番目の投稿
(環境: Mac/Minefield)

> 【現象】
>  忍者TOOLS のブログで CSS が読み込まれない。

Mac 版 2.0.0.11 では、CSS は読み込まれます。
ただし CSS にエラーがあり、制作者の意図した通りの表示になっているのかは不明です。
読み込まれていないということは、どのように確認したのでしょうか。

> Firefox が CSS をリクエストしない。

既にキャッシュに入っていると、キャッシュから読み出すためリクエストしない場合もあります。
キャッシュをクリアした状態でもリクエストしないのでしょうか。

Re[2]: 忍者TOOLS のブログで CSS が読み込まれない
(#40849) このトピック中3番目の投稿
(環境: Linux/Firefox2.0)

> 読み込まれていないということは、どのように確認したのでしょうか。
 キャッシュを削除した状態で、Live HTTP Header 拡張でモニタしました。

> キャッシュをクリアした状態でもリクエストしないのでしょうか。
 キャッシュにコンテンツが残っていれば、当然そちらが表示されるのは知っておりますので、上記のとおりキャッシュの内容は削除しております。

Re[2]: 忍者TOOLS のブログで CSS が読み込まれない
(#40850) このトピック中4番目の投稿
(環境: WinXP SP2/Other)

>>Firefox が CSS をリクエストしない。
> 既にキャッシュに入っていると、キャッシュから読み出すためリクエストしない場合もあります。

どのような場合、リクエストを出さないのでしょうか。キャッシュにあってもリクエス
トを出して 304 Not Modified を受け取るのが作法のように思うのですが。

Re[1]: 忍者TOOLS のブログで CSS が読み込まれない
(#40851) このトピック中5番目の投稿
(環境: Linux/Firefox2.0)

>  忍者ツールズのブログを見るときに、なぜか CSS ファイルのリクエストが飛ばず、CSS 未反映の状態でブログが表示されます。CSS ファイルのリクエストが飛ばない理由がわからず困っております。
>  どなたか原因の分かる方はいらっしゃらないでしょうか?
>  なおこの現象は Windows 版の Firefox 2.0.0.11 でも、この現象が生じることを確認しております。

Firefox 3 beta 2 (Windows XP)
Firefox 2.0.0.11 (Ubuntu 7.10(VMWare))

で動作を確認しましたが、ともに http://xul.blog.shinobi.jp/css/ にアクセスしにいきます。
また、特にレイアウトが崩れていると言う感じもうけません。
ちなみに、クッキーはすべて受け入れを拒否しています。

拡張機能が悪さをしているということはないでしょうか。

LiveHttpHeaders のログ(一部)
----------------------------------------------------------
http://xul.blog.shinobi.jp/Entry/49/



GET /Entry/49/ HTTP/1.1

Host: xul.blog.shinobi.jp

User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Accept-Language: ja,en-us;q=0.7,en;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://forum.mozilla.gr.jp/?mode=one&namber=40843&type=0&space=0&



HTTP/1.x 200 OK

Date: Wed, 30 Jan 2008 07:13:42 GMT

Server: Apache

Set-Cookie: unq=1; expires=Thu, 31-Jan-2008 00:00:00 GMT; path=/

Connection: close

Transfer-Encoding: chunked

Content-Type: text/html; charset=UTF-8

----------------------------------------------------------

http://xul.blog.shinobi.jp/css/



GET /css/ HTTP/1.1

Host: xul.blog.shinobi.jp

User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

Accept: text/css,*/*;q=0.1

Accept-Language: ja,en-us;q=0.7,en;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://xul.blog.shinobi.jp/Entry/49/



HTTP/1.x 200 OK

Date: Wed, 30 Jan 2008 07:13:46 GMT

Server: Apache

Vary: Host

Last-Modified: Fri, 25 May 2007 21:52:15 GMT

Etag: "e42959-4552-699081c0"

Accept-Ranges: bytes

Content-Length: 17746

Connection: close

Content-Type: text/css

----------------------------------------------------------

以下略

Re[2]: 忍者TOOLS のブログで CSS が読み込まれない
(#40852) このトピック中6番目の投稿
(環境: Linux/Firefox2.0)

> 拡張機能が悪さをしているということはないでしょうか。
 ずばり Adblock Plus が原因でした。お騒がせしてすみませんでした。
 かたっぱしからフィルターをインストールしたのが問題だったようです。

【整理】
・拡張 Adblock Plus はリクエストを送信しない機能を有している ( Adblock の頃から )。
・Adblock Plus では各種フィルターをインストールできるようになっているが、これらのフィルターを安易にインストールすることで、予期しない URI がフィルタリングされることがあるので注意が必要である。
済!
(環境: WinXP SP2/Firefox2.0)

>>既にキャッシュに入っていると、キャッシュから読み出すためリクエストしない場合もあります。
>
> どのような場合、リクエストを出さないのでしょうか。キャッシュにあってもリクエス
> トを出して 304 Not Modified を受け取るのが作法のように思うのですが。

HTTP ではキャッシュの有効期限を定義していて、"十分に新鮮"なコンテンツではリクエストを飛ばさなくてよいです。

解説は下記のサイトで

[Studying HTTP] Caching
http://www.studyinghttp.net/caching

"十分に新鮮" など見慣れない言い回しが出てきますが、RFC の英文を直訳するとそうなるんです。

サーバが有効期限を指定する方法が規定されていますし、有効期限が指定されないときに有効期限を計算するアルゴリズムも提案されています。

計算するアルゴリズムは、これがなかなか暗記できない長いアルゴリズムです。Firefox はこのアルゴリズムを真正直に実装しています。

「おかしい! Firefox では更新されない!!」という勘違いは、元をたどると、ユーザの「常識、直感」と RFC での提案のギャップに行き着くことが多いです。

(環境: Linux/Firefox2.0)

> >>既にキャッシュに入っていると、キャッシュから読み出すためリクエストしない場合もあります。
>>
>>どのような場合、リクエストを出さないのでしょうか。キャッシュにあってもリクエス
>>トを出して 304 Not Modified を受け取るのが作法のように思うのですが。
>
> HTTP ではキャッシュの有効期限を定義していて、"十分に新鮮"なコンテンツではリクエストを飛ばさなくてよいです。

Cache-Control あたりですね。すっかり忘れてました。
# おとついも RFC 2616 の和訳は見ていたんですが。
# 熱で頭がおかしくなっていたということにしておいてください(汗

> サーバが有効期限を指定する方法が規定されていますし、有効期限が指定されないときに有効期限を計算するアルゴリズムも提案されています。
> 計算するアルゴリズムは、これがなかなか暗記できない長いアルゴリズムです。Firefox はこのアルゴリズムを真正直に実装しています。

RFC 2616 では「heuristic expiration time」のアルゴリズムに関しては定義されていないようです。
ざっと調べてみたのですが、ちょっと見つけることができませんでした。
便乗質問になってしまいますが、今後の参考にしたいので、どの辺を調べればよいのか
教えていただけるとありがたいです。

HTTP Caching FAQ - MDC
(#40858) このトピック中9番目の投稿
(環境: WinXP SP2/Firefox2.0)

>>サーバが有効期限を指定する方法が規定されていますし、有効期限が指定されないときに有効期限を計算するアルゴリズムも提案されています。
>>計算するアルゴリズムは、これがなかなか暗記できない長いアルゴリズムです。Firefox はこのアルゴリズムを真正直に実装しています。
>
> RFC 2616 では「heuristic expiration time」のアルゴリズムに関しては定義されていないようです。
> ざっと調べてみたのですが、ちょっと見つけることができませんでした。
> 便乗質問になってしまいますが、今後の参考にしたいので、どの辺を調べればよいのか
> 教えていただけるとありがたいです。

HTTP Caching FAQ - MDC
http://developer.mozilla.org/en/docs/HTTP_Caching_FAQ

から

How are expiration times calculated
(since not every response includes an Expires header)?

で、
> we look for a "Last-Modified" header.
> If this header is present,
> then the cache's freshness lifetime
> is equal to the value of the "Date" header
> minus the value of the "Last-modified" header divided by 10.
> This is the simplified heuristic algorithm
> suggested in RFC 2616 section 13.2.4.

RFC 2616 section 13.2.4 では Age の 10% を超えてはいけないとしていますが、Firefox は単純に 10 で割っているようです。

「真正直に」は言い過ぎだったかも。
「なかなか暗記できない長いアルゴリズム」は Age の計算の方でした。
私もうろ覚えで危うかったです(汗...)

Re[6]: HTTP Caching FAQ - MDC
(#40871) このトピック中10番目の投稿
(環境: WinXP SP2/Other)

> HTTP Caching FAQ - MDC
> http://developer.mozilla.org/en/docs/HTTP_Caching_FAQ
>
> から
>
> How are expiration times calculated
> (since not every response includes an Expires header)?
>
> で、
>>we look for a "Last-Modified" header.
>>If this header is present,
>>then the cache's freshness lifetime
>>is equal to the value of the "Date" header
>>minus the value of the "Last-modified" header divided by 10.
>>This is the simplified heuristic algorithm
>>suggested in RFC 2616 section 13.2.4.
>
> RFC 2616 section 13.2.4 では Age の 10% を超えてはいけないとしていますが、Firefox は単純に 10 で割っているようです。

なるほど、そういう実装になっているのですね。
これだと更新して放置してあるファイルは有効期限が長くなってしまうということ
だと思うので、その点、正直ちょっとびっくりしましたが、これで Cache-Control
や Expires を送ったほうがよいと言われる理由も納得できました。

勉強になりました。あさん、ゆのさん、どうもありがとうございました。


[ 次のトピック内容10件 ]
このトピックの全ページ / [0] [1]

返信不可


- Child Tree -