Я обрабатываю все файлы *.jpg как статические, но мне нужно обслуживать несколько динамически. Могу ли я просто опустить расширение, поэтому мне не нужно увлекаться правилами моего URL? Достаточно ли просто задать тип файла в заголовке?
Безопасно ли показывать изображение в Интернете без расширения?
Ответ 1
У меня никогда не было проблем с обслуживанием динамических изображений со странным расширением или вообще отсутствием расширения. Квесты также прекрасны.
Достаточно, чтобы заголовки были правильными, и двоичный файл правильно сформировался. Когда вы это сделаете, убедитесь, что вы также настроили Content-Disposition на разумное имя файла, чтобы люди не пытались загрузить ваши файлы с сумасшедшими именами запросов. (Какие пользователи Windows не смогут сэкономить, так как они, скорее всего, будут иметь "?" В них.)
Ответ 2
Вместо того, чтобы опускать расширение (на вашем сервере), активируйте согласование содержимого (т.е. +MultiViews
, если вы используете Apache) и опустите расширения в своих URI. Таким образом, Apache решит, какой файл будет служить; вы можете иметь изображение как в формате png
, так и svg
, и использовать тот, который принят браузером.
Как правило, достаточно правильного заголовка Content-type
.