Мой браузер отправляет application/octet-stream
.
Но на стороне сервера у меня правильное значение MIME заголовка Content-Type
.После некоторых тестов я пришел к выводу, что он основан на расширении файла, например .txt
или .pdf
.
Где обычно выполняется сопоставление, полагается ли оно на операционную систему для этого?Как должны вести себя серверы?
Для Java я нашел это: https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29
Если файл распознан, то возвращается тип содержимого.Если файл не распознается ни одним из установленных детекторов типов файлов, то для определения типа контента вызывается системный детектор типов файлов по умолчанию.