FirefoxでCtrl + Sを使用してWebページを保存すると、ブラウザーでサイトが再度読み込まれますか?


58

Firefox でCtrl+を使用Sしてオフラインで読むためにWebサイトを保存すると、Webページがすでにロードされているにもかかわらず、ダウンロードプロセスが完了するまでに数秒かかることがわかります。

そのようなWebページを保存すると、Firefoxがすべてのコンテンツ(HTML、画像、JavaScript、CSSなど)を再度取得するのか、それともキャッシュに既にロードされているファイルから取得するのか疑問に思います。


私が覚えているように、古いfirefoxesはページをリロードしました。答えは現在のFirefoxに対するものです。それは数年前からです。
user259412

あなたが「ダウンロードプロセス」と呼ぶものを明確にできますか?メモリ内のリソースをネットワークから再ダウンロードする必要はありませんが、ブラウザにはフォルダ内のすべてのデータをエクスポートしてリンクを変更するなどの操作が必要です。また、ストレージディスクが一時停止した場合、私たちがそれに書き込めるように、目を覚まします。しかし、あなたはライブラリ>ダウンロードパネルは、時間を取って、1.2Mbpsのようなものを示して話をしている場合、それはに関連している可能性があり、この回帰彼らはバグであることを考慮していなかった...
Kaiido

4
他のユーザーはすでにこれに適切に答えていますが、ソフトウェア開発者によって動作の保証が提供されない限り、そのような動作をソフトウェアでカタログ化することは無駄な作業になることが多いことに注意してください。したがって、正しいとマークされた回答は、すべての将来のバージョンおよび過去のバージョンについて幅広い仮定を行うのではなく、テスト対象のバージョンを指し示す必要があります。トップの答えがすでにこの懸念に対処していることは良いことです。知っている; ニッピッキング。
アドナンY

これは一見「WTF」のように見えますが、Firefoxだけでなく、10年ほど前にはこれが完全に正常であったという現実があります。理由を聞かないでください。まったく意味がありません。
デイモン

回答:


68

いいえ、2番目の要求はトリガーされません。

単純なHTTPサーバーを実行して要求をログに記録することでテストしました。サーバーは、Webサイトの保存時に2番目の要求を受信しませんでした。

  • テスト済み:Ubuntu 18.04上のFirefox 61.0.1(64ビット)
  • サーバー:Python 2.7.15のSimpleHTTPServerモジュール(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)

11

いいえ、そうではありません。

コンピューターをインターネットから切断し、既に読み込まれているWebページを保存することで、コードなしでこれをテストしました。

動いた。同じテストを自分で行うことができます。


コンピューターがオンラインでもオフラインでも動作異なる可能性がありますが、現在の上位の回答ではより詳細なテストが示されています。単純なテストを行うことはまだ価値があると思います。


11
Expires、Cache-control、Pragma、およびその他のヘッダーの組み合わせが非常に多いため、「この単一のケースではない」ということは、「決して」という意味ではありません。ソースコードを見なくても、私は何にも賭けません。
ガントラムブローム

5
@GuntramBlohm、絶対に正しい。簡単なテストは、一方、失敗した、あなたは決定的にCtrl-Sではないだろうと結論付けることができ、常にそれは可能性がある場合でも、サーバーに追加のリクエストを送信することなく動作し、時にはそう。したがって、単純なテストにはまだ価値があります。誰もそれについて言及していなかったので驚いたので、そうしました。
ワイルドカード

8

Webページ(ctrls)を保存すると、Firefoxはすべてのコンテンツを再度取得しますか?

これは、Firefoxの開発者ツールを使用して簡単にテストできます

  • ツールを開き、[ネットワーク]タブをクリックします。

  • ページを保存する

追加のネットワークトラフィックが生成されないことがわかります。


50
この場合、開発者ツールに頼ることはできないと思います。単一のタブからのトラフィックのみを表示し、そのタブのコンテキストでダウンロードが実行されているとは思わない。あなたの推論では、アクセスしていないリンクのコンテキストメニューから「名前を付けて保存」を使用すると、ネットワークタブに表示されるはずですが、表示されません。
カペックス

@kapexわかりました。しかし、未訪問のリンクのように保存することは、この場合に起こっていることではありません。
DavidPostill

5
@kapex私は...ちょうど私のインターネット接続を抜いまだ正しくページを保存することができました
DavidPostill

11
キャッシュを使用していることを疑ってはいません。開発ツールを使用してそれを証明できることを疑っているだけです。「名前を付けて保存」と「ページを保存」の両方が同じように動作することを期待しますが、もちろん違いがあります。したがって、別のアイデアがあります。開発者ツールでキャッシュを無効にすると、ctrl + sを使用することは確かに[ネットワーク]タブに表示されますが、再び表示されません。
カペックス

1
特定のページに関連付けられていない内部リクエストを含む、ブラウザからのすべてのネットワークリクエストを表示するブラウザツールボックスを使用する必要があります。
ニール


1

おそらく。

CSSには@mediaセレクターがあります。CSSは、プリンタ、さまざまなサイズの画面など、ページの表示に使用されているハードウェアの種類に応じて、さまざまな定義を使用できます。

CSSは、画像ファイル(行頭文字画像、背景画像)を直接要求することもできます。

Firefoxがページを表示するときに現在のハードウェアに必要なものだけをダウンロードし、ディスクに保存するときにすべてをダウンロードする場合、追加のリクエストを受け取ることができます。

警告:

これは、実際に役立つ答えの前半にすぎません。後半はこのシナリオをテストします。残念ながら、私は時間を使い果たしているので、誰かが繰り返し可能なテスト結果を報告できるなら、私はどんな編集またはコメントも受け入れます。


いいえ、すべてのCSSファイルはダウンロードされますが、解析されません:)
Martijn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.