Pourquoi location.reload () est plus lent que les autres méthodes de rechargement de page?

Il y a quelques mois, j'ai posté cette réponse sur la façon de rafraîchir la page via JavaScript.

J'ai également fourni une DEMO JSFIDDLE :

var solutions = [ function () { location.reload(); }, function () { history.go(0); }, function () { location.href = location.href; }, function () { location.href = location.pathname; }, function () { location.replace(location.pathname); }, function () { location.reload(false); }, ]; $("[data-func]").on("click", function () { solutions[parseInt($(this).attr("data-func"))](); }); 

Quelqu'un a remarqué que location.reload() est plus lent que les autres methos. Maintenant, je peux voir la même chose.

Pourquoi est-il plus lent? Pourquoi les autres sont plus rapides?

J'ai cherché cela moi-même et la meilleure référence que je pourrais trouver est en réalité sur w3schools.com

http://www.w3schools.com/jsref/met_loc_reload.asp

Location.reload ( forceGet )

ForceGet :

Faux – par défaut. Recharge la page actuelle du cache.

True – La page actuelle doit être rechargée depuis le serveur

Du Mozilla Developement Network, je suppose que la méthode .reload peut récupérer à nouveau tous les fichiers du serveur. Cela serait similaire à un rechargement CTRL + F5 .

L' location.href par exemple, suit simplement le lien qui peut être mis en cache. En ce qui concerne la définition MDN, le comportement n'est pas clairement défini, donc je suppose que son navigateur et son comportement spécifique à un cas se comportent.