2013-10-23 42 views
0

我正在實現處理GETHEAD請求的HTTP/1.0服務器。如何獲得文件的內容類型

我完成DateLast-ModifiedContent-Length,但我不知道如何獲得一個文件的Content-Type

它必須返回目錄目錄(這是我能做到使用stat()功能),併爲常規文件,text/htmltexthtml文件,image/gif圖像或gif文件。

這是否應該使用文件的名稱進行硬編碼?

我不知道是否有任何功能得到這個Content-Type

回答

0

您可以查看文件擴展名(這是大多數Web服務器所做的 - 例如,請參閱/etc/mime.types文件;或者您可以使用libmagic通過查看文件的前幾個字節自動確定內容類型。

0

這取決於你想要怎樣複雜的是,

如果有問題的文件都正確地命名,只有幾種類型的處理,具有基於交換文件後綴就足夠了。要在極端的情況下,做出正確的決定,無論文件是什麼,都可能需要重複Unix file命令的功能或在有問題的文件上運行它(然後將輸出轉換爲適當的Content-Type)。