所以我正在做一项网络任务,用 C 语言生成一个基本的 HTTP/1.0 Web 服务器。我已经弄清楚了大部分内容,但要求之一是它正确填充标头中的 Content-Type 字段,并且我似乎找不到任何方法来自动执行此操作。
我已经在使用 fstat() 来获取文件大小以及上次修改时间,并且我注意到其中还包含一个“st_objtype”字段,但经过一些研究后,它看起来只是 AS/400 对象类型(其中显然不是我需要的)并且 stat() 和 lstat() 似乎与 fstat() 做的事情基本上相同。
C 中是否有任何方法可以自动为给定文件生成具有 HTTP 样式文件类型的字符串,或者我只需要制作一个大的类型列表并根据请求的结尾将正确的值插入标头文件(.txt、.html、.png 等)?
我检查的各种文件的 Content-Type 字段的一些示例:
Content-Type: text/html; charset=ISO-8859-1
Content-Type: image/png
Content-Type: application/x-gzip
Content-Type: application/pdf
有些系统包含一个名为/etc/mime.types
其中包含一堆扩展名和 MIME 类型对。
See 此类文件的文档 http://wiki.debian.org/MIME/etc/mime.types.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)