web-dev-qa-db-fra.com

L'enregistrement d'une page Web à l'aide de Ctrl + S dans Firefox force-t-il le navigateur à charger le site une seconde fois?

Lors de la sauvegarde d’un site Web pour une lecture hors connexion avec Ctrl+S dans Firefox, je remarque que le processus de téléchargement prend quelques secondes à se terminer alors que la page Web est déjà chargée.

Je me demande si le fait de sauvegarder la page Web de cette manière incitera Firefox à récupérer tout le contenu (HTML, images, JavaScript, CSS, etc.) une seconde fois, ou s'il récupérera simplement les fichiers déjà chargés dans le cache.

58
4253wyerg4e

Non, cela ne déclenche pas une seconde demande.

Je viens de le tester en exécutant un simple serveur HTTP pour enregistrer les demandes. Le serveur n'a pas reçu une deuxième demande lors de l'enregistrement du site Web.

  • Testé avec: Firefox 61.0.1 (64 bits) sur Ubuntu 18.04
  • Serveur: module SimpleHTTPServer de python 2.7.15 (python -m SimpleHTTPServer 7070)

Modifier:

Les commentateurs ont demandé un comportement différent si le serveur envoie des en-têtes "sans cache". Je l'ai testé avec Pragma: No-Cache et Cache-Control: No-Cache et le résultat reste le même.

Le code que j'avais l'habitude de faire le test (via cette réponse ):

#!/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 __== '__main__':
    SimpleHTTPServer.test(HandlerClass=MyHTTPRequestHandler)
68
McFarlane

Non, ça ne va pas.

Je viens de tester cela sans code en déconnectant mon ordinateur d'Internet puis en sauvegardant une page Web déjà chargée.

Ça a marché. Vous pouvez faire le même test vous-même.


Certes, le comportement pourrait être différent si l'ordinateur est en ligne ou hors ligne, mais le réponse actuelle montre un test plus approfondi. Je pense juste que c'est toujours utile d'avoir un simple test.

11
Wildcard

L'enregistrement d'une page Web (ctrls ) faire en sorte que Firefox récupère tout le contenu une seconde fois?

Ceci est facilement testé avec Firefox outils de développement .

  • Ouvrez les outils et cliquez sur l'onglet "Réseau".

  • Sauvegarder la page

Vous verrez qu'il n'y a pas de trafic réseau supplémentaire généré.

8
DavidPostill

Contrairement aux autres réponses, Firefox 59.0 télécharge une seconde fois pour (dans mes tests) des images, mais pas des fichiers HTML.

J'ai chargé une image aléatoire ( https://cdn.shopify.com/s/files/1/1613/3867/products/GS_cat_feeding_reminder_forget_someone.png?v=1520745318 ) et utilisé ctrl+s pour le sauver.

2
wdkmaaeo

Peut-être.

CSS a un sélecteur @media. Il permet au CSS d’utiliser différentes définitions en fonction du type de matériel utilisé pour afficher la page: imprimante, écrans de différentes tailles, etc.

CSS peut également demander directement des fichiers image (images avec puces, images d’arrière-plan).

Maintenant, si Firefox télécharge uniquement ce qui est nécessaire pour le matériel actuel lors de l'affichage de la page, mais télécharge tout lors de l'enregistrement sur disque, vous pouvez avoir des requêtes supplémentaires.

Caveat:

Ce n’est que la première partie d’une réponse utile; la seconde moitié serait tester ce scénario. Malheureusement, je manque de temps. J'accepterai donc toutes modifications ou commentaires si quelqu'un peut signaler des résultats de test reproductibles.

1
toolforger