Fra*_*uro 94 python django content-type mime-types
据我所知,他们绝对平等.但是,浏览一些django文档,我发现了这段代码:
HttpResponse.__init__(content='', mimetype=None, status=200, content_type='text/html')
令我惊讶的是两个相处的人.官方文档能够以实际的方式解决问题:
content_type是mimetype的别名.从历史上看,此参数仅称为mimetype,但由于这实际上是HTTP Content-Type标头中包含的值,因此它还可以包含字符集编码,这使其不仅仅是MIME类型规范.如果指定了mimetype(不是None),则使用该值.否则,使用content_type.如果两者都不给出,则使用DEFAULT_CONTENT_TYPE设置.
但是,我觉得它不够清楚.为什么我们使用2种不同的命名(几乎相同)?"Content-Type"只是浏览器请求中使用的名称,并且在外部使用很少吗?
每个人之间的主要区别是什么,什么时候调用某些东西mimetype
是对的content-type
?我是傻和语法纳粹吗?
chr*_*yss 51
为什么我们使用2种不同的命名(几乎相同)?"Content-Type"只是浏览器请求中使用的名称,并且在外部使用很少吗?
每个人之间的主要区别是什么,什么时候调用mimetype而不是内容类型?我是傻瓜还是语法纳粹?
原因不仅是向后兼容性,而且我担心通常优秀的Django文档对它来说有点手持波动.MIME(它至少值得阅读维基百科条目)的起源是扩展互联网邮件,特别是SMTP.从那里开始,MIME和MIME启发的扩展设计已经进入许多其他协议(例如HTTP),并且当需要在现有协议中传输新类型的元数据或数据时仍在使用.有许多RFC讨论用于过多目的的MIME.
具体来说,Content-Type:
是几个MIME标头之一."Mimetype"确实听起来过时了,但是对MIME本身的引用却没有.如果愿意,将该部分称为向后兼容性.
[顺便说一下,这纯粹是一个术语问题,与语法没有任何关系.在"语法"下提交每个使用问题都是我的一个小小问题.GRRRR]
小智 42
我一直认为contentType是mimeType的超集.唯一的区别是可选的字符集编码.如果contentType不包含可选的字符集编码,则它与mimeType相同.否则,mimeType是字符集编码序列之前的数据.
例如 text/html; charset=UTF-8
text/html
是mimeType
;
是附加参数指示符
charset=UTF-8
是字符集编码参数
例如 application/msword
application/msword
是mimeType
它不能具有字符集编码,因为它描述了一个octet-stream
不直接包含字符的良好形式.