Type de fichier inconnu MIME?
Dois-je spécifier un type MIME si le fichier téléchargé n'a pas d'extension?
En d'autres termes est-il un défaut général type MIME?
Vous devez vous connecter pour publier un commentaire.
Dois-je spécifier un type MIME si le fichier téléchargé n'a pas d'extension?
En d'autres termes est-il un défaut général type MIME?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
application/octet-stream
pour les types inconnus.RFC 2046 états dans la section 4.5.1:
application/octet-stream
fichier est exécutable. Et même si un navigateur est sciemment le téléchargement d'un fichier exécutable, il n'est pas "peut-être exécuter" il sans que l'utilisateur en demandant, il suffit de télécharger un fichier exécutable ne signifie pas que je veux qu'il soit exécuté à l'instant. Si il y a vraiment un navigateur qui peut exécuter desapplication/octet-stream
automatiquement les fichiers à télécharger, dites-nous où et comment reproduire le comportement. Droit maintenant, je ne crois pas que vous.Content-Type
c'était servi; que l'information n'a pas stockées n'importe où lorsque vous téléchargez un fichier. Pour un autre,application/octet-stream
ne signifie pas que le fichier est exécutable en premier lieu.img
sur le disque ou pas?RFC ressources:
Nous devrions utiliser RFC-7231 (HTTP/1.1 de la Sémantique et le Contenu) comme référence au lieu de la RFC 2046 (Types de Médias), car la question a été clairement sur HTTP Content-Type.
Également à la RFC 2046 ne définit pas clairement les types inconnus mais RFC-7231 n'.
Réponse courte:
De ne pas envoyer de type MIME des données inconnues.
Pour être plus clair: Ne pas utiliser le Contenu-Type d'en-tête à tous.
Références:
Que l'article dit clairement de vous laisser si vous ne savez pas pour vous.
Il indique également que le récepteur peut supposer que le type application/octet-stream mais c'est que ça peut aussi être autre chose.
Ce qui est différent alors?
Et, comme déjà indiqué ci-dessus:
Conclusion:
Si vous le définir comme "application/octet-stream" alors vous dites que vous savez qu'il est "application/octet-stream".
Si vous ne définissez pas, alors vous dites que vous ne savez pas ce qu'il est et de laisser la décision au récepteur et le récepteur peut alors vérifier si ça marche comme le canard et...
Je préfère
application/unknown
, mais le résultat sera sûrement le même queapplication/octet-stream
application/octet-stream
ouapplication/unknown
? Il y a une raison, ils ont inventéimage/png
.image/png
. Le problème, c'est quand vous ne savez pas vraiment quel type il est, par exemple, si vous êtes à l'intégration avec un système qui ne fournit pas cette information dans un format de qualité ou avec les téléchargements des utilisateurs qui peut être n'importe quel type de fichier.exr
fichier, la plupart des médias que vous allez à l'interface avec ne va pas être capable de les gérer, de toute façon.application/octet-stream
est pour une application spécifique de données, pas pour quand vous ne savez pas ce que les données représentent. En omettant le type MIME indique à la cible pour savoir comment analyser lui-même. Tous avec tous, si vous ne le connaissez pas, et vous ne voulez pas faire un effort pour apprendre à le connaître, il suffit de ne pas envoyer les types MIME. Il est tout au sujet de la communication et de l'interface, pas sur le navigateur de la figure it out". Oui c'est possible, mais cela ne devrait pas sauf si vous lui dites.