在简单的HTTP服务器中支持多种MIME类型

时间:2020-09-24 21:16:38

标签: c linux http server mime-types

我正在用C编程一个简单的HTTP服务器。到目前为止,我的服务器仅支持text / html。我正在尝试通过支持其他MIME类型(更准确地说是:文本/ css,文本/ javascript,图像/ jpg,图像/ png,字体/ woff2)向其添加更多功能。对于html文件,我仅使用fseek()和ftell()确定文件的大小,然后使用read(),write()将文件读入缓冲区并将其发送给客户端。现在,我有以下问题:

1。我可以将js,css和woff2文件与html文件完全一样吗(计算大小,读取和发送)? 2.对于二进制文件(图像),我希望有什么区别?我仍然可以使用fseek()和ftell()来确定大小吗?假设我使用了fread(),可以将返回值用作文件长度吗?对于二进制文件,fwrite()真的比write()好吗?在发送之前是否必须对图像文件进行编码(我检查了RFC,但找不到明确的答案)?我应该包括“ Content-Transfer-Encoding”,还是可选的?

1 个答案:

答案 0 :(得分:0)

我是否必须在发送之前对图像文件进行编码(我检查了RFC,但找不到明确的答案)?我应该包括“ Content-Transfer-Encoding”,还是可选的?

不,您不需要任何编码,FWIW,HTTP中没有Content-Transfer-Encoding字段。