Firefox でCtrl+を使用Sしてオフラインで読むためにWebサイトを保存すると、Webページがすでにロードされているにもかかわらず、ダウンロードプロセスが完了するまでに数秒かかることがわかります。
そのようなWebページを保存すると、Firefoxがすべてのコンテンツ(HTML、画像、JavaScript、CSSなど)を再度取得するのか、それともキャッシュに既にロードされているファイルから取得するのか疑問に思います。
Firefox でCtrl+を使用Sしてオフラインで読むためにWebサイトを保存すると、Webページがすでにロードされているにもかかわらず、ダウンロードプロセスが完了するまでに数秒かかることがわかります。
そのようなWebページを保存すると、Firefoxがすべてのコンテンツ(HTML、画像、JavaScript、CSSなど)を再度取得するのか、それともキャッシュに既にロードされているファイルから取得するのか疑問に思います。
回答:
いいえ、2番目の要求はトリガーされません。
単純なHTTPサーバーを実行して要求をログに記録することでテストしました。サーバーは、Webサイトの保存時に2番目の要求を受信しませんでした。
python -m SimpleHTTPServer 7070
)編集:
サーバーが「no-cache」ヘッダーを送信している場合、コメンターは異なる動作について質問しました。私はそれをテストPragma: No-Cache
してCache-Control: No-Cache
、結果は同じままです。
テストを行うために使用したコード(この回答を使用):
#!/usr/bin/env python
import SimpleHTTPServer
class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def end_headers(self):
self.send_my_headers()
SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self)
def send_my_headers(self):
self.send_header("Pragma", "No-Cache")
self.send_header("Cache-Control", "No-Cache")
if __name__ == '__main__':
SimpleHTTPServer.test(HandlerClass=MyHTTPRequestHandler)
いいえ、そうではありません。
コンピューターをインターネットから切断し、既に読み込まれているWebページを保存することで、コードなしでこれをテストしました。
動いた。同じテストを自分で行うことができます。
コンピューターがオンラインでもオフラインでも動作が異なる可能性がありますが、現在の上位の回答ではより詳細なテストが示されています。単純なテストを行うことはまだ価値があると思います。
Webページ(ctrls)を保存すると、Firefoxはすべてのコンテンツを再度取得しますか?
これは、Firefoxの開発者ツールを使用して簡単にテストできます。
ツールを開き、[ネットワーク]タブをクリックします。
ページを保存する
追加のネットワークトラフィックが生成されないことがわかります。
他の回答とは反対に、Firefox 59.0は(私のテストでは)画像用に2回ダウンロードしますが、HTMLファイルはダウンロードしません。
arbritraryイメージ(https://cdn.shopify.com/s/files/1/1613/3867/products/GS_cat_feeding_reminder_forget_someone.png?v=1520745318)をロードし、ctrl+ sを使用して保存しました。
おそらく。
CSSには@media
セレクターがあります。CSSは、プリンタ、さまざまなサイズの画面など、ページの表示に使用されているハードウェアの種類に応じて、さまざまな定義を使用できます。
CSSは、画像ファイル(行頭文字画像、背景画像)を直接要求することもできます。
Firefoxがページを表示するときに現在のハードウェアに必要なものだけをダウンロードし、ディスクに保存するときにすべてをダウンロードする場合、追加のリクエストを受け取ることができます。
警告:
これは、実際に役立つ答えの前半にすぎません。後半はこのシナリオをテストします。残念ながら、私は時間を使い果たしているので、誰かが繰り返し可能なテスト結果を報告できるなら、私はどんな編集またはコメントも受け入れます。