Quelle est la différence de ContentType et MimeType
Autant que je sache, ils sont absolument égaux. Cependant, la navigation sur certains django docs, j'ai
trouvé ce morceau de code:
HttpResponse.__init__(content='', mimetype=None, status=200, content_type='text/html')
qui me surprendre les deux s'entendent plus les uns les autres. L'officiel docs a été en mesure de résoudre le problème dans la pratique de manière:
content_type est un alias de type mime.
Historiquement, ce paramètre a été seulement
appelé mimetype, mais puisque c'est
en fait la valeur inclus dans le
HTTP Content-Type d'en-tête, il peut aussi
inclure le codage du jeu de caractères,
ce qui le rend plus que juste un MIME
spécification du type de. Si le type mime est
précisé (Aucun), cette valeur est
utilisé. Sinon, content_type est utilisé.
Si aucune information n'est donnée, le
DEFAULT_CONTENT_TYPE paramètre est utilisé.
Cependant, je ne trouve pas ça élucider assez. Pourquoi nous utilisons 2 dénomination différente pour (presque la même) chose? Est "Content-Type" juste un nom utilisé dans les requêtes du navigateur, et avec très peu d'utilisation en dehors d'elle?
Quelle est la principale différence entre chacun d'eux, et quand est le droit de faire appel à quelque chose de mimetype
par opposition à content-type
? Suis-je victime de dommage et de la grammaire nazi?
Vous devez vous connecter pour publier un commentaire.
La raison n'est pas seulement la compatibilité descendante, et j'ai peur que le général excellente documentation de Django est un peu à la main ondulé à ce sujet. MIME (c'est vraiment la peine de lire au moins l'entrée de Wikipedia) a son origine dans l'extension de la messagerie internet, et plus précisément SMTP. À partir de là, le MIME, MIME inspiré la conception d'extension a trouvé son chemin dans beaucoup d'autres protocoles (HTTP, ici), et qui est encore utilisé lorsque de nouveaux types de méta-données ou les données doivent être transmises dans un protocole existant. Il existe des dizaines de Rfc discuter de MIME utilisée pour une multitude de fins.
Plus précisément,
Content-Type:
est l'un parmi plusieurs en-têtes MIME. "Mimetype" n'est en effet obsolète, mais une référence à MIME lui-même ne l'est pas. Appel de la partie de compatibilité ascendante, si vous voulez.[BTW, c'est purement un problème de terminologie qui n'a rien à voir avec la grammaire. Le dépôt de chaque utilisation de la question sous la rubrique "grammaire" est une bête noire de la mine. Grrrr.]
J'ai toujours considéré contentType d'être un sur-ensemble de type mime. La seule différence étant l'option codage du jeu de caractères. Si le contentType ne pas inclure une option de codage du jeu de caractères, alors il est identique à un type mime. Sinon, le type mime est les données avant le codage du jeu de caractères de la séquence.
E. G.
text/html; charset=UTF-8
text/html
est le type mime;
est les autres paramètres de l'indicateurcharset=UTF-8
est le codage du jeu de caractères du paramètreE. G.
application/msword
application/msword
est le type mimeIl ne peut pas avoir un codage du jeu de caractères car il décrit bien formés
octet-stream
ne comportant pas de caractères directement.Content-Type
en-tête. La syntaxe deContent-Type
peut être trouvé ici: tools.ietf.org/html/rfc2045#section-5.1Si vous voulez connaître les détails voir le billet Trois mille cinq cent vingt six.
Citation:
Compatibilité ascendante, basée sur votre devis à partir de la documentation.