Разница между Localhost и открытием html-файла

#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. @Те, кто отмечен негативно, должны хотя бы поделиться своими мыслями и рассказать, что у них на уме!