Content-length et d'autres en-têtes HTTP?
Ne me donne aucun avantage si j'ai mis cet en-tête lors de la génération de pages HTML?
Je vois que certains cadres de là-bas va définir cette propriété d'en-tête et je me demandais pourquoi...
(Avec les autres en-têtes, comme Content-Type: text/html
)
N'navigateur de charger le site plus rapide ou plus lisse?
ps: ils le font comme:
ob_start();
... stuff here...
$content = ob_get_contents();
$length = strlen($content);
header('Content-Length: '.$length);
echo $content;
- La réponse à votre question, non énumérées ci-dessous?
Vous devez vous connecter pour publier un commentaire.
Je pense que c'est seulement en raison de la spécification HTTP, dit pour ce faire, dans tous les cas possible.
Vous pouvez aussi chercher les à Pauls Répondre sur le Question de Deaomon.
Je pense que cela va répondre à la vôtre aussi.
Aussi, vous devez utiliser le Contenu de Longueur si vous voulez que quelqu'un télécharge un fichier avec un autre en-tête:
par exemple,
Pour les pages générées dynamiquement, généralement pas.
Content-Length
permet au client de connaître la taille du fichier est. Toutefois, siContent-Length
n'est pas spécifié, le transfert est envoyé par morceaux (avec un morceau qui signifie la fin du fichier). La première méthode peut entraîner une transmission plus rapide que les frais généraux de la diviser en morceaux est éliminé. Cependant, ce n'est généralement préférable de réserver pour les fichiers statiques que les ressources requises pour le tampon de la totalité du contenu dans le but de déterminer la longueur emportent sur les avantages apportés par la mise enContent-Length
.Content-Length
seront inclus automatiquement par le serveur web. Cependant, si la longueur dépasse la longueur de la mémoire tampon, vous verrez que la longueur du contenu ne sera pas envoyé et, au lieu de cela,Transfer-Encoding: chunked
sera utilisé.tcp send buffer size <your_os>
que c'est différent pour chaque système d'exploitation. Pour Windows XP-7, c'est 8192 octets.La motivation principale derrière il est à nouveau en utilisant une connexion TCP existante en HTTP 1.1.
Content-Length
peut délimiter où la fin de l'intervention pour le destinataire.Comme pour les autres en-têtes, comme
Content-Type
qui spécifie le type MIME, ils sont pour le destinataire afin qu'elle puisse savoir quoi faire avec le résultat en fonction du type de contenuPar exemple, dans Firefox, vous pouvez spécifier l'action à effectuer avec différents types MIME. Si vous pouvez vous le pop-up du navigateur boîte de dialogue enregistrer ou ouvrir un fichier PDF viewer avec
Content-Type
deapplication/pdf
Où
content-type: text/html
, c'est surtout pour dire au client qu'attendre, et généralement de la façon de gérer le fichier. Dans le cas des robots, il peut être utile pour les fins de SEO comme il dit le bot quel type de fichier c'est en regardant ce qui peut changer la façon dont il est analysée/classé.Dans le cas de
content-length
, c'est juste pour laisser le client sait comment taille du fichier à attendre, et, par là même, la fin de l'intervention.Un soi-disant bon usage pour le réglage de la longueur du contenu, c'est quand vous voulez envoyer votre réponse au client, même si vous avez tout de même d'effectuer plus de temps par la suite.
Voir cette réponse qui explique que vous définissez la longueur du contenu, écrire votre sortie et peut effectuer d'autres opérations dans votre script sans rendre le client plus d'attendre.
La meilleure façon (c'est de travailler pour moi) de la taille d'un fichier distant: