Où puis-je trouver les parameters de délai d’expiration par défaut pour tous les navigateurs?

Je cherche une sorte de documentation qui spécifie combien de temps chaque navigateur (IE6 / IE7 / FF2 / FF3, etc.) attendra sur une requête avant que celle-ci ne soit abandonnée et expire.

Je n’ai pas eu de chance en essayant de l’obtenir.

Des pointeurs?

J’ai réussi à trouver network.http.connect.timeout pour des versions beaucoup plus anciennes de Mozilla:

Cette préférence a été ajoutée à plusieurs pour permettre un réglage de bas niveau du code réseau HTTP. Après qu’une partie du même code ait été réécrite de manière significative en 2001, la préférence a cessé d’avoir un effet (comme indiqué dans all.js dès septembre 2001).

Actuellement, le délai d’attente est déterminé par le délai d’expiration de l’établissement de connexion au niveau du système. L’ajout d’un moyen de configurer cette valeur est considéré comme une priorité faible.

Il semblerait que network.http.connect.timeout n’ait rien fait depuis un certain temps.

J’ai également vu des références à network.http.request.timeout , j’ai donc fait une recherche sur Google . Les résultats incluent beaucoup de liens vers des personnes recommandant que d’autres l’incluent à about:config dans ce qui semble être une croyance erronée selon laquelle il fait quelque chose, puisque la même recherche retourne cet article sur: config ensortinges :

Pref enlevé (inutilisé) . Auparavant: délai d’attente réseau spécifique à HTTP. La valeur par défaut est 120 .

La même page contient des informations supplémentaires sur network.http.connect.timeout :

Pref enlevé (inutilisé) . Précédemment: détermine le délai d’attente d’une réponse jusqu’à l’enregistrement d’un délai d’attente. La valeur par défaut est 30 .

Avertissement: Les informations de la base de connaissances MozillaZine peuvent être incorrectes, incomplètes ou obsolètes.

Tout d’abord, je ne pense pas qu’il existe une seule solution à votre problème ….

Comme vous le savez, chaque navigateur est très différent.

Mais voyons si nous pouvons nous rapprocher de la réponse dont vous avez besoin ….

Je pense que IE pourrait être facile …

Consultez ce lien http://support.microsoft.com/kb/181050

Pour Firefox, essayez ceci:

Ouvrez Firefox et dans la barre d’adresse, tapez “about: config” (sans les guillemets). À partir de là, faites défiler vers le Network.http.keep-alive et assurez-vous qu’il est défini sur “true”. Si ce n’est pas le cas, double-cliquez dessus pour passer de faux à vrai. Maintenant, allez-y un en bas à network.http.keep-alive.timeout – et changez ce nombre en double-cliquant dessus. Si vous prévoyez 500, par exemple, vous devriez être bon. laissez-nous savoir si cela aide du tout

Après la dernière mise à jour de Firefox, nous avons rencontré le même problème de délai d’attente de session et le paramètre suivant a permis de le résoudre.

Nous pouvons le contrôler avec le paramètre network.http.response.timeout .

  1. Ouvrez Firefox et tapez “about: config” dans la barre d’adresse et appuyez sur Entrée.
  2. Cliquez sur “Je vais faire attention, je vous le promets!” bouton.
  3. Tapez ‘timeout’ dans la zone de recherche et le paramètre network.http.response.timeout sera affiché.
  4. Double-cliquez sur le paramètre network.http.response.timeout et entrez la valeur temporelle (en secondes) dans laquelle vous ne souhaitez pas que votre session ne soit pas dépassée.

Pour Google Chrome (testé sur la version 62)

J’essayais de garder une connexion socket active depuis l’API de récupération de Google Chrome vers un serveur express distant et j’ai trouvé que les en-têtes de requête correspondre aux parameters de connexion natifs

Je définis l’object en-têtes sur mon script côté client avec les options suivantes:

 /* ----- */ head = new headers(); head.append("Connnection", "keep-alive") head.append("Keep-Alive", `timeout=${1*60*5}`) //in seconds, not milliseconds /* apply more definitions to the header */ fetch(url, { method: 'OPTIONS', credentials: "include", body: JSON.ssortingngify(data), cors: 'cors', headers: head, //could be object literal too cache: 'default' }) .then(response=>{ .... }).catch(err=>{...}); 

Et sur mon serveur express, je configure mon routeur comme suit:

  router.head('absolute or regex', (request, response, next)=>{ req.setTimeout(1000*60*5, ()=>{ console.info("socket timed out"); }); console.info("Proceeding down the middleware chain link...\n\n"); next(); }); /*Keep the socket alive by enabling it on the server, with an optional delay on the last packet sent */ server.on('connection', (socket)=>socket.setKeepAlive(true, 10)) 

ATTENTION

Veuillez faire preuve de bon sens et assurez-vous que les utilisateurs avec lesquels vous gardez la connexion socket ouverte sont validés et sérialisés. Cela fonctionne aussi pour Firefox, mais il est vraiment vulnérable si vous gardez la connexion TCP ouverte pendant plus de 5 minutes.

Je ne suis pas sûr de savoir comment fonctionnent certains navigateurs moins connus, mais je vais également append à cette réponse les détails du navigateur Microsoft.