est-ce que quelqu'un pourrait me décrire ce qu'est exactement une entité HTTP ? Je lis la documentation HTTPClient , mais je ne comprends pas vraiment ce que cela signifie?
Je vous remercie!!
est-ce que quelqu'un pourrait me décrire ce qu'est exactement une entité HTTP ? Je lis la documentation HTTPClient , mais je ne comprends pas vraiment ce que cela signifie?
Je vous remercie!!
Un HTTP entité est la majorité de HTTP de la requête ou de la réponse, composé de certains des en-têtes et le corps, si elle est présente. Il semble être l'ensemble de la requête ou de la réponse sans la demande ou de la ligne d'état (bien que seulement certains champs d'en-tête sont considérés comme faisant partie de l'entité).
Pour illustrer, voilà une demande:
POST /foo HTTP/1.1 # Not part of the entity.
Content-Type: text/plain # ┬ The entity is from this line down...
Content-Length: 1234 # │
# │
Hello, World! ... # ┘
Et une réponse:
HTTP/1.1 200 OK # Not part of the entity.
Content-Length: 438 # ┬ The entity is from this line down...
Content-Type: text/plain # │
# │
Response body ... # ┘
Voici 3 cas simples:
Cas 1. Vous avez télécharger 3 fichiers en une seule requête. Ces 3 fichiers sont 3 entités. Chacun d'eux a sa propre Content-Type
d'indiquer quel type de fichier il est.
Cas 2. Vous êtes en train de consulter une page web. Navigateur a téléchargé un fichier html comme entité en arrière-plan. Depuis la page pourrait être mis à jour en permanence, vous pouvez obtenir un tout autre entité plus tard.
Cas 3. Vous avez un 304 Not Modified
. Aucune entité n'a été transféré.
En un mot, l'Entité est une option de charge utile à l'intérieur d'un message http(requête ou réponse), donc c'est une "partie-tout" de la relation entre l'Entité et le Message.
Certains champs d'en-tête s'appliquent Message
comme Transfer-Encoding
décrivent comment le transfert de messages entre les intermédiaires, et donc PEUT être ajouté ou enlevé par une application, le long de la requête/réponse de la chaîne(hop-by-hop headers
). En comparaison, les champs d'en-tête s'appliquent Entity
sont des propriétés qui décrivent l'entité de la taille, le type, l'algorithme de compression, etc...
Outre la lecture, citant la RFC 2616 la section 1.4, 4.5 et 4.3:
request chain --------------------------------------> UA -----v----- A -----v----- B -----v----- C -----v----- O <------------------------------------- response chain
La figure ci-dessus montre trois intermédiaires (A, B, et C) entre l'agent de l'utilisateur et le serveur d'origine. Une demande ou d'un message de réponse qui parcourt l'ensemble de la chaîne va passer par quatre connexions distinctes.
Il y a quelques champs d'en-tête qui ont une applicabilité générale de la demande et des messages de réponse, mais qui ne s'applique pas à l'entité transférée. Ces champs d'en-tête s'appliquent uniquement pour que le message soit transmis.
Codage de transfert DOIT être utilisé pour indiquer tout transfert-codages appliquée par une application pour assurer la sécurité et la bonne transmission du message. Transfer-Encoding est une propriété de message, pas de l'entité, et donc PEUT être ajouté ou enlevé par une application, le long de la requête/réponse de la chaîne.
message-body = Transfer-Encoding( Content-Encoding(entity-body) )
où Transfer-Encoding
peut être "chunked", ce qui signifie la façon de transférer le message, et Content-Encoding
peut être "gzip", qui signifie la façon de compresser l'entité.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.