アカウント名:
パスワード:
まず、参照されている元のコンテンツ「HTTP vs HTTPS Test」のテスト内容が錯誤に陥らせる内容なので、それはどうなの?と思います。
(誤) HTTPとHTTPSの比較(正) HTTPとHTTPS+SPDYの比較
さて、タイトルが齎す錯誤より大きな、このテストの問題は、読み込まれる画像にExpiresヘッダーが入っており、二回目以降の読み込みは、IMS(If-Modified-Since)リクエスト、つまりダウンロードせず、変更確認だけで済む点です。
Firebugを開いた状態で、 https://www.httpvshttps.com/ [httpvshttps.com] を開いてみてください。
もし、既にブラウジングしたことがあるのであれば、Ctrl+F5で、スーパーリロードをさせて、
質問です。「HTTP vs HTTPS Test」で読み込む画像のURL には,キャッシュ対策のパラメータがランダム(規則あり?)についています。これでもキャッシュされるのでしょうか?
あと,私の環境ではイメージの応答ヘッダをみるとEtag はついていますが Expires は含まれていません。MacOSX 10.9 の Firefox 34.0 です。相手に合わせて、応答をかえているのでしょうか。
他の皆さんどうですか?
FirefoxのExpires Headerについて、調べました。他の方が書いているとおり、ChromeやIEにはExpires Headerはなく、このサーバから配信されている素のレスポンスヘッダーには、Expires Headerが無いことをcurlでも確認しました。この点は、私の早とちりだったようです。失礼しました。
Firefoxは、Last-Modified Headerがついているものについては、自動でExpires Headerを付与するそうです。
"On pages that return a Last-Modified header but no Expires header, Mozilla will automatically generate its own Expires date."
https://bugzilla.mozilla.org/show_bug.cgi? [mozilla.org]
> Query String付きのURLの画像をキャッシュするかどうかについては、FirefoxはEtagが付与されているものについてはキャッシュするそうです。
下記> 「その URI のスキームと (存在する場合は) 命名オーソリティの範囲内のリソースを識別するために利用される。」にあるとおり、各画像には読み込みごとに異なるクエリストリングが付与されるため、それぞれ異なるリソースとして扱われるので、キャッシュはヒットしません。そもそもIf-None-Match等のヘッダも送信されていません。
> では、仕様としてはどうか?という話としては、2005年にリリースされたRFC3986では、「その URI のスキームと (存在する場合は) 命名オーソリティの範囲内のリソースを識別するために利用される。」とあり、キャッシュされるべきであろうという意見が出ています。> http://bizcoder.com/caching-resources-with-query-strings [bizcoder.com] [bizcoder.com]
リンク先の議論は、クエリストリングが同一である場合にキャッシュされるべきだということでしょう。
> 尚、キャッシュされないIEやChromeであっても、やはり、HTTPSの方が遅いことには変わりはないです。
こちらで確認した限りでは、Firefox, IE, Chromeのいずれもキャッシュは行われていませんでした。おそらくあなたの環境に特有の現象ではないでしょうか。
他の方も指摘しているように、このベンチマークはSPDY over TLSが有利になるように意図的に条件が設定されたものです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
錯誤に陥らせる内容 (スコア:5, 参考になる)
まず、参照されている元のコンテンツ「HTTP vs HTTPS Test」のテスト内容が錯誤に陥らせる内容なので、それはどうなの?と思います。
(誤) HTTPとHTTPSの比較
(正) HTTPとHTTPS+SPDYの比較
さて、タイトルが齎す錯誤より大きな、このテストの問題は、読み込まれる画像にExpiresヘッダーが入っており、二回目以降の読み込みは、IMS(If-Modified-Since)リクエスト、つまりダウンロードせず、変更確認だけで済む点です。
Firebugを開いた状態で、
https://www.httpvshttps.com/ [httpvshttps.com]
を開いてみてください。
もし、既にブラウジングしたことがあるのであれば、Ctrl+F5で、スーパーリロードをさせて、
Re: (スコア:1)
質問です。「HTTP vs HTTPS Test」で読み込む画像のURL には,キャッシュ対策のパラメータがランダム(規則あり?)についています。
これでもキャッシュされるのでしょうか?
あと,私の環境ではイメージの応答ヘッダをみるとEtag はついていますが Expires は含まれていません。
MacOSX 10.9 の Firefox 34.0 です。
相手に合わせて、応答をかえているのでしょうか。
他の皆さんどうですか?
Re: (スコア:2)
FirefoxのExpires Headerについて、調べました。
他の方が書いているとおり、ChromeやIEにはExpires Headerはなく、このサーバから配信されている素のレスポンスヘッダーには、Expires Headerが無いことをcurlでも確認しました。この点は、私の早とちりだったようです。失礼しました。
Firefoxは、Last-Modified Headerがついているものについては、自動でExpires Headerを付与するそうです。
"On pages that return a Last-Modified header but no Expires header, Mozilla will automatically generate its own Expires date."
https://bugzilla.mozilla.org/show_bug.cgi? [mozilla.org]
Re:錯誤に陥らせる内容 (スコア:0)
> Query String付きのURLの画像をキャッシュするかどうかについては、FirefoxはEtagが付与されているものについてはキャッシュするそうです。
下記
> 「その URI のスキームと (存在する場合は) 命名オーソリティの範囲内のリソースを識別するために利用される。」
にあるとおり、各画像には読み込みごとに異なるクエリストリングが付与されるため、
それぞれ異なるリソースとして扱われるので、キャッシュはヒットしません。
そもそもIf-None-Match等のヘッダも送信されていません。
> では、仕様としてはどうか?という話としては、2005年にリリースされたRFC3986では、「その URI のスキームと (存在する場合は) 命名オーソリティの範囲内のリソースを識別するために利用される。」とあり、キャッシュされるべきであろうという意見が出ています。
> http://bizcoder.com/caching-resources-with-query-strings [bizcoder.com] [bizcoder.com]
リンク先の議論は、クエリストリングが同一である場合にキャッシュされるべきだということでしょう。
> 尚、キャッシュされないIEやChromeであっても、やはり、HTTPSの方が遅いことには変わりはないです。
こちらで確認した限りでは、Firefox, IE, Chromeのいずれもキャッシュは行われていませんでした。
おそらくあなたの環境に特有の現象ではないでしょうか。
他の方も指摘しているように、このベンチマークはSPDY over TLSが有利になるように
意図的に条件が設定されたものです。