Transfert-encodage: chunked

j'essayais de comprendre plus sur Transfer-Encoding:chunked . visée certains articles: http://zoompf.com/blog/2012/05/too-chunky et "Transfer-Encoding: chunked" header en PHP .

Je n'ai pas encore eu une image très claire. Je comprends que le réglage de cet encodage permet au serveur de régler le contenu en morceaux sur le navigateur et de provoquer un rendu partiel du contenu à un moment qui rend le site web responsive.

si J'ai une application web qui sert le contenu dynamique (ex: JSF basé application web) hébergé sur IBM était, la plupart des pages Web sont conçus pour servir le contenu statique riche avec beaucoup de CSS et JS fichiers + Contenu dynamique. Comment définir "chunked" pour mes pages? Ou en d'autres termes:

  • comment décidez-vous quelle page aura 'Transfer-Encoding: chunked' et comment définissez-vous cette page?

votre expérience personnelle sera certainement être précieux pour ma compréhension.

30
demandé sur Community 2013-11-11 17:31:14

2 réponses

Transfer-Encoding: chunked n'est pas nécessaire pour le rendu progressif. Cependant, il est nécessaire lorsque la longueur totale du contenu est inconnue avant les premiers octets sont envoyés.

26
répondu Julian Reschke 2015-01-22 15:30:42

Lorsque le serveur doit envoyer grande quantité de données, fragments de codage est utilisé par le serveur, car il ne sais pas exactement quelle taille (longueur) les données vont être. En termes HTTP, lorsque le serveur envoie une réponse, L'en-tête Content-Length est omis par le serveur. Au lieu de cela, server écrit La longueur du morceau courant en format hexadécimal suivi de \r\n puis de chunk, suivi de \r\n (Le contenu commence par la taille du morceau en hexadécimal suivi de chunk)

cette caractéristique peut être utilisé pour le rendu progressif; cependant le serveur doit rincer les données autant que possible afin que le client puisse rendre le contenu progressivement (en cas de html,css etc)

cette fonctionnalité est souvent utilisée lorsque le serveur pousse des données vers le client en grandes quantités - généralement en giga octets

Mozilla Documentation

3
répondu webjockey 2017-07-13 16:57:43