Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在一个简单的HTTP服务器中支持多种MIME类型_C_Linux_Http_Server_Mime Types - Fatal编程技术网

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

C 在一个简单的HTTP服务器中支持多种MIME类型,c,linux,http,server,mime-types,C,Linux,Http,Server,Mime Types,我正在用C编写一个简单的HTTP服务器。到目前为止,我的服务器只支持text/html。我正试图通过支持其他MIME类型(更准确地说:text/css、text/javascript、image/jpg、image/png、font/woff2)来为它添加更多功能。对于html文件,我只使用fseek()和ftell()确定文件的大小,并使用read()、write()将文件读入缓冲区并发送到客户端。现在,我有以下问题: 1.我是否可以将js、css和woff2文件与html文件完全相同(计算大

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

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

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

不,您不需要任何编码,而且,FWIW,HTTP中没有内容传输编码字段