You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2024-03-26 12:20:24

J2C99
Member
Registered: 2020-08-11
Posts: 107

[GLPI 10 Mode debug] Erreur 404 sur appel ajax/debug.php

Bonjour

  Quand je suis en mode debug,  je vois passer des erreur 404  dans les journaux de log apache.

Exemple:
172.16.99.666 - - [18/Jan/2024:09:57:02 +0100] "GET /ajax/debug.php?ajax_id=bf0905b6f8f0c8 HTTP/1.1" 404 341 "https://glpi/front/config.form.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0".

  La cause est que le  code de ajax/Debug retourne toujours 404 en mode debug, si ajax_id est spécifié .
Ce code est appelé avec un parametre aléatoire ajax_id qui sera stocké dans la session utilisateur ($profile = \Glpi\Debug\Profile::pull($ajax_id); ).
Apparemment cette valeur sera utilisée après coup lors de la génération de certaines pages afin de les regrouper,sûrement àfin de profilage.

Ces informations se retrouveront dans les  hearders resquest
X-Glpi-Ajax-ID             xxxxxxxxxxxxxxx
X-Glpi-Ajax-Parent-ID  xxxxxxxxxxxxxxx

Ma question  est pourquoi renvoyer un code retour 404, et pas un 200 ?
Bien que le  contenu renvoyé soitvide, le renvoi d'un 404 pollue les logs apache obligeant un diagnostique spécifique sur une erreur qui ne me semble pas réelle .

Last edited by J2C99 (2024-03-26 12:25:30)

Offline

#2 2024-03-26 13:00:08

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,430
Website

Re: [GLPI 10 Mode debug] Erreur 404 sur appel ajax/debug.php

Je suis le développeur qui a créé la nouvelle barre d'outils de débogage.

Les erreurs 404 sont normales dans certains cas précis. Lorsqu'une requête AJAX est effectuée par la page, un identifiant unique est attribué et envoyé avec la requête. Lorsque la réponse est reçue, l'outil de débogage enverra une nouvelle requête à GLPI demandant les données de débogage liées à cette requête (requêtes SQL, données de profilage, etc.) car il y a trop de données à renvoyer dans un en-tête HTTP sur la requête d'origine. . Certaines requêtes ne génèrent pas de « profil de débogage » dans lequel ces données sont stockées.

Si vous voyez des erreurs 404 pour chaque requête adressée à "/ajax/debug.php", alors il peut y avoir un problème avec votre session ou autre chose puisque les profils de débogage sont stockés dans votre session sur le serveur jusqu'à ce qu'ils soient envoyés au navigateur. .

Quant à savoir pourquoi "/ajax/debug.php" renvoie un 404 au lieu de 200 lorsqu'aucune donnée de débogage n'est trouvée pour la requête, cela a le sens le plus logique puisque 404 est le code HTTP lorsqu'une ressource est introuvable. Le script "ajax/debug.php" ne peut pas non plus faire la différence entre le moment où l'on s'attend à ce que rien n'existe et le moment où il devrait le faire.

En général, à moins que vous ne résolviez un problème spécifique ou que vous travailliez sur la création d'un plugin ou sur le développement de GLPI, il est préférable de garder le mode débogage désactivé car cela ajoute une pénalité de performances.


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#3 2024-03-26 15:47:36

J2C99
Member
Registered: 2020-08-11
Posts: 107

Re: [GLPI 10 Mode debug] Erreur 404 sur appel ajax/debug.php

Merci pour cette réponse très détaillée.

En tant qu'administrateur de la plateforme, j'active le mode debug afin d'identifier plus facilement des anomalies de fonctionnement.
Toutefois , mon activité étant particulière,  il est normal de ne pas activer ce mode.

En regardant les logs apache, j'ai autant par lignes 'GET /ajax/debug.php?ajax_id=' de 200 que de 404.
Toutefois sous firefox, l'explorateur réseau m'indique que toute requête vers 'ajax/debug.php?ajax_id=' renvoie 404.
Ce comportement de firefox m'a induit en erreur en supposant un probleme.

on peut clore ce sujet.

Offline

Board footer

Powered by FluxBB