Почему Chrome пытается загрузить/сохранить xml-файл, отправленный из gatsby на локальном хосте, а не отображать в браузере, если в имени файла отсутствует суффикс ".xml"?
Это вопрос о том, как веб-сервер обрабатывает запросы на XML-файлы, в зависимости от того, имеет ли файл '.xml' достаточный Я работаю с Гэтсби. Разрабатывается на локальном хостинге.
У меня есть xml-файл/ресурс, который обслуживается Гэтсби (т.Е. с использованием либо gatsby develop
, либо gatsby serve
)
Если я назову файл чем-то вроде my-xml-file.xml
, а затем перейду к нему в браузере (Chrome) через http://localhost:8000/my-xml-file.xml
, тогда все в порядке. Chrome загружает/отображает это в браузер.
Однако, если я переименую файл просто в my-xml-file
, т.Е. удалю суффикс ".xml" из имени файла, то при попытке перейти к нему в браузере (Chrome) через http://localhost:8000/my-xml-file
, Chrome не загружает/не отображает его. Вместо этого в этом сценарии Chrome открывает диалоговое окно "Сохранить как".
Есть идеи, что здесь происходит?
Причина, по которой это меня смущает, заключается в том, что я перехожу в другие места в Интернете, которые, как я знаю, являются xml-файлами, которые обслуживаются без суффикса ".xml"., Chrome с удовольствием загружает/отображает их в браузере.
Например:
Chrome загружает/отображает эти URL-адреса непосредственно в браузере
Почему мое поведение отличается, когда я обслуживаю xml-файл без суффикса .xml в имени файла, по сравнению с тем, когда это делают другие сайты, как в примерах выше?
Вещи, которые я до сих пор пытался понять.
-
Обслуживайте файл локально, используя /my-xml-file.xml, открыть в Chrome
- результат: Chrome загружает/отображает файл в окне браузера
-
Подайте файл локально, используя /my-xml-файл, открытый в Chrome
- результат: Chrome открывает диалоговое окно "Сохранить как"
-
Переименуйте файл и используйте его как /my-xml-file.rss, откройте в Хром
- результат: Chrome загружает/отображает файл в окне браузера
-
Обслуживайте файл локально, используя /my-xml-file.xml, открыть в Edge
- результат: Edge загружает/отображает файл в окне браузера
-
Обслуживайте файл локально, используя /my-xml-файл, открытый в Edge
- результат: Edge загружает/отображает файл в окне браузера
-
Поискал в StackOverflow аналогичные проблемы. Нашел следующее (но, похоже, ни одно из них не соответствует этой проблеме в частности
- https://stackoverflow.com/questions/14952514/how-to-force-open-links-in-chrome-not-download-them
- https://stackoverflow.com/questions/11026466/open-with-chrome-instead-of-download-it
- https://stackoverflow.com/questions/45069386/make-a-file-open-in-browser-instead-of-downloading-it-using-chrome-firebox
- https://stackoverflow.com/questions/28006188/browsers-try-to-download-html-file-instead-of-opening
- https://support.google.com/chrome/thread/2263322?hl=en
- Проверено заголовок ответа из моего локального примера и сравнил его с другими примерами выше. Есть кое-что, что привлекло мое внимание... значение в ответе для
Content-type
отличается...