我正在实施一个处理GET
或HEAD
请求的HTTP / 1.0服务器。
我已完成Date
,Last-Modified
和Content-Length
,但我不知道如何获取文件的Content-Type
。
它必须返回目录的目录(我可以使用stat()
函数执行),对于常规文件text/html
,text
或html
文件, image/gif
用于图片或gif
文件。
这是否应该使用文件名进行硬编码?
我想知道是否有任何功能可以获得此Content-Type
。
答案 0 :(得分:0)
您可以查看文件扩展名(这是大多数Web服务器执行的操作 - 请参阅例如/etc/mime.types
文件;或者您可以使用libmagic
通过查看文件来自动确定内容类型文件的前几个字节。
答案 1 :(得分:0)
这取决于你想成为多么复杂。
如果有问题的文件都已正确命名,并且只有几种类型需要处理,那么基于交换机的文件后缀就足够了。走向极端情况,无论文件是什么,做出正确的决定可能需要复制Unix file
命令的功能或在有问题的文件上运行它(然后将输出转换为正确的{{1 }})。