Openresty est activé par défaut sur chunked_transfer_encoding, ce qui signifie que l'encodage fragmenté est utilisé pour le moment, la longueur du contenu est inutile.
Ensuite, notre client a un besoin pour ce champ et notre logique métier est relativement simple, j'ai donc désactivé le chunking. À ce stade, la connexion devient courte, mais le champ de longueur du contenu ne sera pas automatiquement généré. Si je dois calculer manuellement la longueur du contenu renvoyé avant chaque retour, cela sera plus laborieux et je génère le contenu de manière dynamique.
Ce problème n'a rien à voir avec le fait qu'il s'agisse d'openresty, mais lors de la sortie de contenu dynamique, le serveur Web ne connaîtra pas du tout la taille du contenu que vous souhaitez afficher. S'il s'agit d'une ressource statique, le serveur Web le pourra. pour obtenir la ressource lors de la sortie de la taille de ces ressources statiques, vous pouvez également spécifier l'en-tête de réponse de longueur de contenu. Par conséquent, si le contenu dynamique doit prendre en charge l’en-tête de réponse de longueur de contenu, vous ne pouvez l’ajouter que vous-même.