【问题标题】:Standard Naming Conventions for Content-Type Header内容类型标头的标准命名约定
【发布时间】:2016-04-13 10:55:28
【问题描述】:

我正在添加从 Web 服务器下载文件的功能。我正在使用自己的 Google Drive 帐户测试我的程序,但我不确定应该如何处理 Content-Type 标头,因为我对 Web 编程了解不多。

首先,我将两个文件上传到我的 Google Drive 帐户。 两者都是完全相同的 zip 文件,但我将其中一个的扩展名从“zip”重命名为“ktx”,这在上传之前没有任何意义,只是为了测试。 上传后,我检查了它们的 Content-Type 标题,并得到“application/zip”为原始的和“application/x-zip”为重命名的。

我很困惑,所以搜索了 Content-Type Header,但变得更加困惑。因为似乎 zip 有更多名称,例如“multipart/x-zip”和“application/x-zip-compressed”。 所以我真的很想知道 Content-Type 标头是否有标准命名约定。

无论如何,我上传了我需要的所有文件类型,以下是我从 Google 云端硬盘 获得的内容。

文档

文本/纯文本(txt)

申请/pdf

应用程序/msword(文档)

应用程序/vnd.ms-powerpoint (ppt)

应用程序/vnd.ms-excel (xls)

应用程序/rtf

application/vnd.openxmlformats-officedocument.wordprocessingml.document (docx)

application/vnd.openxmlformats-officedocument.presentationml.presentation (pptx)

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (xlsx)

图片

图像/JPEG

图片/png

图片/gif

图像/tiff (tif, tiff)

图像/x-ms-bmp

图像/x-photoshop (psd)

图像/x-raw(原始)

应用程序/插画家 (ai)

压缩

应用程序/压缩包

应用程序/rar

应用程序/x-tar (tar)

应用程序/x-gzip (gz)

应用程序/x-7z 压缩 (7z)

application/x-zip(当zip、jar、xlsx或apk重命名为无意义时 一)

音频文件

音频/mpeg (mp3)

音频/x-wav

音频/x-ms-wma

音频/x-aiff (aiff)

音频/midi(中)

应用程序/ogg

视频

视频/mp4

视频/x-msvideo (avi)

视频/x-ms-asf

视频/flv

视频/快速时间(mov)

视频/mpeg(mpg、vob)

视频/x-ms-wmv

视频/x-matroska (mkv)

脚本或源代码文件

文本/html (htm, html)

文本/x-csrc

文本/x-c++src

文本/x-csharp

文本/x-java

文本/x-python

文本/css

应用程序/x-javascript (js)

应用程序/x-httpd-php

应用程序/json

应用程序/xml

已编译或可执行文件

application/x-msdos-program (exe, dll, com, bat)

应用程序/java-vm(类)

应用程序/java-archive (jar)

应用程序/x-python-code (pyc)

application/vnd.android.package-archive (apk)

应用程序/x-shockwave-flash (swf)

  1. 有没有标准的命名约定?

  2. 只使用上面的名称来检查 MIME 类型可以吗?

【问题讨论】:

    标签: c# header naming-conventions content-type mime


    【解决方案1】:

    有没有标准的命名约定?

    只使用上面的名称来检查 MIME 类型可以吗?

    标准类型见Iana Media Types

    有关 MIME 类型,请参阅 Iana MIME Media Type Parameters

    [RFC2046] 指定媒体类型(以前称为 MIME 类型) 和媒体子类型将由 IANA 分配和列出。


    文件类型在上传时确定一次或服务器始终 下载时检查?

    通常,当请求文件时,服务器会检查文件扩展名并确定要使用的媒体类型。然而,一些服务器可能会检查文件的第一个字节 (magic number) 以确定文件类型是什么(例如,zip 文件以 PK.. 开头 - 点为 0x03 0x04)。

    这可能是您看到"application/zip" 对应.zip"application/x-zip" 压缩.ktx 的原因。附带说明:.xlsx 也是一个压缩文件。

    根据实现的不同,服务器可能会在接收文件时检查一次,并将其存储以供以后使用,或者在每次下载时检查。

    【讨论】:

    • 感谢一百万! :)
    • 我能再问一个问题吗?文件类型是上传时确定一次还是下载时服务器总是检查?
    • 哇!!谢谢你,谢谢你,谢谢你!!它帮助了很多!
    • 确实如此!!正如你所说,我测试了 .xslx 是 x-zip。
    • @Jenix - 是在更改 .xlsx 扩展名之后,还是 with .xlsx 扩展名? (那会很奇怪 - 见stackoverflow.com/questions/4212861/…
    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 2020-11-09
    • 2022-01-08
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多