Итак, я работаю над сетевым заданием для создания базового веб-сервера HTTP / 1.0 на языке C. Большинство из них выяснено, но одно из требований заключается в том, чтобы оно правильно заполняло поле 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