#javascript #html #css #server #localhost
#javascript #HTML #css #сервер #localhost
Вопрос:
В чем принципиальная разница между запуском файла с использованием сервера на localhost и открытием файла, такого как file:///Users/$user_name/$your_directory/index.html
, предполагая, что никакой серверный интерфейс не используется, и это только интерфейс и содержит html / css / js
Как это также влияет на взаимодействие с другим сервером ie. запросы ajax?
Прошу прощения, если это слишком широко, но я не нашел четкого ответа на эти основные вопросы.
Ответ №1:
По сути, предполагая, что в какой-то момент вы собираетесь разместить результат на реальном веб-сервере, первый соответствует целевой среде, а второй — нет. Браузеры по- localhost
разному обрабатывают локальные файлы и файлы, обслуживаемые с веб-серверов (даже веб-серверов), хотя и очень похоже. Одним из аспектов этого является кодировка: когда вы извлекаете файл с веб-сервера, процесс определения кодировки данных отличается от открытия локального файла.
Как это также влияет на взаимодействие с другим сервером ie. запросы ajax?
Это один из основных способов, которым они обрабатываются по-разному, и он даже варьируется от браузера к браузеру. Страница, загруженная с file://
URL, имеет origin null
с той же точки зрения политики Origin. Некоторые браузеры (например, Chrome) полностью запрещают совместное использование ресурсов из разных источников для origin null
, даже если сервер, с которым вы пытаетесь связаться, имеет широко открытую политику CORS ( *
). Другие (например, Firefox) позволяют origin null
использовать подстановочный знак.
В общем, для достижения наилучших результатов убедитесь, что ваша среда разработки соответствует вашей среде развертывания во всех важных аспектах. Это означает, что при разработке используется процесс веб-сервера, а не локальные файлы. Большинство IDE с радостью предоставят вам этот процесс; если нет, Apache или Nginx установить несложно.
Комментарии:
1. Это отвечает на основу моего вопроса! Моя проблема, которая вызвала эти вопросы, на самом деле была ошибкой CORS. Спасибо за вашу помощь
Ответ №2:
ответ прост, если вы еще не активировали серверную часть для «index.html » тогда это не повлияло бы.например.-«localhost» и «index.html «на этот раз будет то же самое.
но когда вы начинаете работать с серверной частью, большинству внутренних процессов требуется активный сервер (нужен localhost).
например,- 1. выборка(‘local.json’) … //выборка json или любого другого файла не будет работать для локальных файлов. 2. вы можете не взаимодействовать с базами данных mysql / django и т.д. означает, что это вызывает ошибки при регистрации / входе в систему, сохранении любого изображения / видео / документов в базе данных и т.д.
поэтому лучше работать на localhost, это самый простой способ :-
VScode(IDE) >> extenctions >> live server (just need to click a button to make
localhost and click again to stop localhost)
https://marketplace.visualstudio.com/items?itemName=ritwickdey .LiveServer
Ответ №3:
Я думаю, это не будет иметь никакого значения. Но при использовании Chrome есть исключение! Иногда я видел, что если html-файл добавляется с какой-либо ссылкой CDN, то он не загружается в html конкретно в Chrome, но если вы попробуете тот же файл в Firefox или Internet Explorer, это сработает.
Я столкнулся с этой проблемой и, следовательно, я всегда размещаю ее на локальном веб-сайте IIS по умолчанию.
Комментарии:
1. @Те, кто отмечен негативно, должны хотя бы поделиться своими мыслями и рассказать, что у них на уме!