Apakah menyimpan halaman web menggunakan Ctrl + S di Firefox membuat browser memuat situs untuk yang kedua kalinya?


58

Saat menyimpan situs web untuk dibaca secara offline dengan Ctrl+ Sdi Firefox, saya perhatikan bahwa proses pengunduhan memakan waktu beberapa detik untuk menyelesaikannya meskipun halaman web sudah dimuat.

Saya bertanya-tanya apakah menyimpan halaman web seperti itu akan membuat Firefox mengambil semua konten (HTML, gambar, JavaScript, CSS, dll.) Untuk kedua kalinya, atau apakah hanya akan mendapatkannya dari file yang sudah dimuat dalam cache.


Seingat saya, firefox lama memuat ulang halaman. Jawabannya adalah untuk firefox saat ini. Sudah beberapa tahun sejak itu.
user259412

Bisakah Anda mengklarifikasi apa yang Anda sebut "proses pengunduhan"? Meskipun sumber daya yang ada di memori tidak boleh diunduh ulang dari jaringan, browser masih memiliki hal-hal yang harus dilakukan untuk mengekspor semua data dalam folder + mengubah tautan dll. Juga, jika disk penyimpanan dijeda, mungkin diperlukan beberapa waktu hanya untuk membangunkannya sehingga kita dapat menulis untuk itu. Tetapi jika Anda berbicara tentang panel Library> Downloads mengambil waktu dan menunjukkan sesuatu seperti 1.2Mbps, maka itu mungkin terkait dengan regresi ini mereka tidak menganggapnya sebagai bug ...
Kaiido

4
Sementara pengguna lain telah menjawab ini dengan tepat, harap dicatat bahwa membuat katalog perilaku seperti itu pada perangkat lunak apa pun sering kali merupakan upaya yang sia-sia kecuali jika jaminan perilaku diberikan oleh pengembang perangkat lunak. Jadi, setiap jawaban yang ditandai sebagai benar harus mengarah ke versi yang diuji daripada membuat asumsi luas tentang semua versi masa depan dan masa lalu. Untung jawaban atas sudah membahas masalah ini. Aku tahu; nitpicking.
Adnan Y

Meskipun ini terlihat seperti, dan tentu saja adalah "WTF", kenyataannya mengatakan bahwa ini adalah normal satu dekade yang lalu, bukan hanya dengan Firefox. Jangan tanya kenapa, tidak masuk akal sama sekali.
Damon

Jawaban:


68

Tidak, itu tidak memicu permintaan kedua.

Saya baru saja mengujinya dengan menjalankan server HTTP sederhana untuk mencatat permintaan. Server tidak menerima permintaan kedua saat menyimpan situs web.

  • Diuji dengan: Firefox 61.0.1 (64-Bit) di Ubuntu 18.04
  • Server: Modul SimpleHTTPServer dari python 2.7.15 ( python -m SimpleHTTPServer 7070)

Sunting:

Komentator bertanya tentang perilaku yang berbeda jika server mengirim header "tanpa cache". Saya mengujinya dengan Pragma: No-Cachedan Cache-Control: No-Cachedan hasilnya tetap sama.

Kode yang saya gunakan untuk melakukan tes (melalui jawaban ini ):

#!/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

Tidak, tidak.

Saya baru saja menguji ini tanpa kode apa pun dengan memutuskan koneksi komputer saya dari Internet dan kemudian menyimpan halaman web yang sudah dimuat.

Itu berhasil. Anda dapat melakukan tes yang sama sendiri.


Memang perilaku itu bisa berbeda jika komputer online atau offline, tetapi jawaban teratas saat ini menunjukkan tes yang lebih mendalam. Saya pikir masih berharga untuk memiliki tes sederhana .


11
Ada begitu banyak kombinasi Expired, Cache-control, Pragma, dan mungkin header lainnya, yang "tidak dalam satu kasus ini" tentu tidak berarti "tidak pernah". Tanpa melihat kode sumbernya, saya tidak akan bertaruh pada apa pun.
Guntram Blohm

5
@GuntramBlohm, benar sekali. Di sisi lain, jika pengujian sederhana gagal, maka Anda dapat menyimpulkan bahwa Ctrl-S tidak akan selalu berfungsi tanpa mengirim permintaan tambahan ke server, bahkan jika kadang - kadang mungkin melakukannya. Jadi tes sederhana masih memiliki nilai; Saya terkejut tidak ada orang lain yang menyebutkannya, jadi saya melakukannya.
Wildcard

8

Apakah menyimpan halaman web ( ctrls) membuat Firefox mengambil semua konten untuk kedua kalinya?

Ini mudah diuji menggunakan alat pengembang Firefox .

  • Buka alat dan klik tab "Jaringan".

  • Simpan halaman

Anda akan melihat tidak ada lalu lintas jaringan tambahan yang dihasilkan.


50
Saya ragu bahwa Anda dapat mengandalkan alat pengembang dalam hal ini. Itu hanya menunjukkan lalu lintas dari satu tab dan saya tidak berpikir bahwa unduhan berjalan dalam konteks tab itu. Saya pikir dengan alasan Anda menggunakan "save as" dari menu konteks pada tautan yang belum Anda kunjungi akan muncul di tab jaringan - tetapi tidak.
kapex

@kapex Dipahami. Tapi simpan seperti pada tautan yang belum dikunjungi bukanlah yang terjadi dalam kasus ini.
DavidPostill

5
@kapex Saya baru mencabut koneksi internet saya dan masih dapat menyimpan halaman dengan benar ...
DavidPostill

11
Saya tidak meragukan bahwa itu menggunakan cache, saya hanya meragukan bahwa alat pengembang dapat digunakan untuk membuktikannya. Saya berharap "save as" dan "save page" untuk berperilaku dengan cara yang sama tetapi tentu saja ada perbedaan. Jadi, inilah ide lain: Jika kita menonaktifkan caching di alat pengembang, menggunakan ctrl + s tentu saja akan muncul di tab jaringan, tetapi sekali lagi tidak.
kapex

1
Anda harus menggunakan Toolbox Browser, yang menampilkan semua permintaan jaringan dari browser, termasuk yang internal yang tidak terikat ke halaman tertentu.
Neil


1

Mungkin.

CSS memiliki @mediapemilih. Ini memungkinkan CSS untuk menggunakan definisi yang berbeda tergantung pada jenis perangkat keras apa yang digunakan untuk menampilkan halaman - printer, layar dengan ukuran yang berbeda, dll.

CSS juga dapat secara langsung meminta file gambar (gambar bullet point, gambar latar belakang).

Sekarang jika Firefox mengunduh apa yang diperlukan untuk perangkat keras saat ini saat menampilkan halaman, tetapi mengunduh semuanya saat menyimpan ke disk, maka Anda dapat memiliki permintaan tambahan.

Peringatan:

Ini hanya bagian pertama dari jawaban praktis yang berguna; bagian kedua akan menguji skenario ini. Sayangnya, saya kehabisan waktu, jadi saya akan menerima suntingan atau komentar jika seseorang dapat melaporkan hasil tes berulang.


Tidak, semua file CSS diunduh, hanya tidak diuraikan :)
Martijn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.