Que signifie ce message d'erreur et comment puis-je le résoudre? C’est à partir de la console de Google Chrome v33.0, sous Windows 7.
Impossible de charger la ressource: net :: ERR_CONTENT_LENGTH_MISMATCH http: //and.img.url/here.png
J'essaie de changer l'attribut src
des images à l'aide de jQuery. Par exemple, comme ceci (simplifié):
$('.image-prld').attr('src', someDynamicValue);
Il y a environ 30 images sur la page. Et l'erreur ci-dessus se produit pour des images aléatoires chaque fois que je recharge la page. Mais parfois, cela fonctionne bien pour toutes les images, sans aucune erreur.
Lorsque cette erreur se produit, l’image particulière s’affiche comme this :
Cependant, lorsque j'ouvre le lien en regard du message d'erreur sur un nouvel onglet, l'image se charge, ce qui me dit logiquement que les images sont valides et qu'elles existent.
Cette erreur est une incompatibilité absolue entre les données publiées dans les en-têtes HTTP et les données transférées sur le réseau.
Cela pourrait venir de ce qui suit:
Serveur : Si un serveur a un bogue avec certains modules, il modifie le contenu mais ne met pas à jour la longueur du contenu dans l'en-tête ou ne le fait pas travaille correctement. Ce fut le cas pour le Node HTTP Proxy à un moment donné (voir ici )
Proxy : Tout proxy entre vous et votre serveur peut modifier la demande et ne pas mettre à jour l'en-tête de la longueur du contenu.
Autant que je sache, je ne vois pas ce problème dans IIS mais principalement avec du code écrit personnalisé.
Faites-moi savoir si cela vous a été utile.
Cela pourrait même être causé par votre bloqueur de publicité .
Essayez de le désactiver ou d'ajouter une exception pour le domaine d'où proviennent les images.
Dans ma situation, le problème était l’espace disque du conteneur nginx docker. J'ai eu 10 Go de journaux et lorsque je réduis ce montant, cela fonctionne.
Entrez dans votre conteneur: docker exec -it conteneur_id bash.
Accédez à vos journaux, par exemple:/var/log/nginx.
[facultatif] Afficher la taille du fichier: ls -lh
pour la taille de fichier individuelle ou du -h
pour la taille du dossier.
Fichier/s vide avec > file_name
.
Ça marche!.
Videz votre journal nginx avec > file_name
ou similaire.
J'espère que ça aide
Cela peut être causé par un disque complet (Ubuntu/Nginx).
Ma situation:
Dans mon cas, je calculais mal la longueur de contenu annoncée dans l'en-tête. Je servais des demandes de plage pour les fichiers et j'ai publié par erreur la taille du fichier dans Content-Length.
J'ai résolu le problème en définissant Content-Length sur la plage que je renvoyais au navigateur.
Donc, si je réponds à une requête normale, je règle Content-Length à la taille du fichier. Si je réponds à une demande d'intervalle, je règle Content-Length sur la longueur réelle de l'intervalle demandé.
Dans mon cas, c’était un problème de proxy (demandes envoyées par proxy de nginx à un cache de vernis) qui était à l’origine du problème. J'avais besoin d'ajouter ce qui suit à ma définition de proxy
proxy_set_header Connection keep-alive;
J'ai trouvé la réponse ici: https://stackoverflow.com/a/55341260/1062129
Dans mon cas, je modifiais la demande pour ajouter un en-tête (à l'aide de Fiddler ) à une demande https
, mais je ne l'ai pas configurée pour déchiffrer le trafic https. =