2009-11-03 9 views
17

J'ai une application, écrite en C++. Cette application distribue une certaine information à un script situé sur un site Web distant en utilisant des requêtes HTTP POST. L'application envoie des demandes avec une période de plusieurs secondes à plusieurs minutes.HTTP, 408 Demande de délai

Le problème est qu'après environ une demi-heure de travail sans erreurs, l'application commence à obtenir une erreur 408 Request timeout du serveur Web. Ensuite, l'application commence à réessayer de publier, mais le serveur continue à répondre avec le délai d'attente de requête 408.

Une observation intéressante: l'erreur disparaît après que j'accède au site Web à l'aide d'un navigateur et l'application fonctionne correctement pendant environ 30 minutes après cela, puis le problème revient.

Quelle pourrait être la raison et existe-t-il une solution à ce problème? PS: l'application fonctionne sur un PC habituel avec XP Workstation. Le site est sur le serveur web GoDaddy.

merci à l'avance

+1

Vous pouvez trouver http://www.checkupdown.com/status/E408.html utile. –

+0

merci, j'ai déjà lu cette info. Mais ça ne m'a pas aidé à comprendre ce qui se passe. Aucun problème avec la connexion Internet, mais le problème est toujours présent – CITBL

+0

Sans savoir quel logiciel hôte GoDaddy utilise pour votre site et comment il est configuré, il sera assez difficile de déterminer ce qui se passe. Ma suggestion serait d'ouvrir une demande de support directement avec GoDaddy. –

Répondre

24

Je sais que c'est un ancien poste, mais pensé que cela pourrait aider quelqu'un, puisque ce problème me cause des heures de frustration. Je rencontrais le même problème avec un serveur Web GoDaddy. Mon application Android envoyait des requêtes POST au serveur et fonctionnait comme prévu, mais j'ai commencé à rencontrer 408 erreurs de délai d'attente de requête après 30 minutes environ. J'ai aussi remarqué que le problème disparaissait si j'ouvrais un navigateur et ouvrais ma page d'accueil (site PHP Wordpress) à partir d'un PC ou de l'appareil Android. Le site Web était en test, donc le trafic web était minime et j'ai pu facilement confirmer ce comportement dans les logs du serveur.

J'ai enregistré un appel de support à GoDaddy mais alors que leur personnel était réactif et utile, ils n'ont fourni aucune information utile pour expliquer le comportement. J'ai toutefois pu contourner le problème en exécutant simplement une requête GET factice avant ma requête POST et cela a 'réveillé' le serveur web et il a répondu à toutes les requêtes POST suivantes.

+1

Merci beaucoup. Envoyer les données avec GET au lieu de POST a résolu ce problème pour moi. –

+0

Comment faire une requête GET factice? – Yster

+2

Il semble que tous les POST et aucun GET pendant trente minutes semble suspect à certains agents de surveillance du trafic qui interviennent en réinitialisant les connexions. Il y a des produits qui envoient des réinitialisations forgées aux deux extrémités s'ils pensent que le trafic est malveillant. Cela supprime alors la connexion provoquant un délai d'expiration. – ClearCrescendo