ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

JavaScript: локальный веб-сервер из набора IIS

Начало:
1. JavaScript: модули, зачем нужен экспорт и импорт
2. JavaScript: Политика одинакового источника и CORS

Зачем мне понадобился локальный веб-сервер?

Ранее я тестировал свои HTML-страницы со своими скриптами на языке JavaScript, открывая их в браузере. Тестируемые файлы находились на рабочем столе (на моем компьютере установлена операционная система «Windows 10 Pro»). При этом адрес в адресной строке браузера (я использую «Microsoft Edge» на движке «Chromium») выглядел так:
C:/Users/Илья/Desktop/test.html

То же самое с приставкой из названия схемы URI:
file:///C:/Users/Илья/Desktop/test.html

То же самое с кодированием русских букв в URL:
file:///C:/Users/%D0%98%D0%BB%D1%8C%D1%8F/Desktop/test.html

В прошлом посте я рассказал, как выяснил, что при работе с модулями в языке JavaScript механизм CORS браузера блокирует доступ к отдельным модулям, если скрипт пытается получить доступ через схему URI file:///. Поэтому я решил установить на свой компьютер локальный веб-сервер, что позволит мне обращаться к моей тестовой HTML-страничке с моими тестовыми скриптами через браузер по протоколу HTTP (я рассчитывал, что доступ к отдельным модулям по этому протоколу не будет заблокирован механизмом CORS браузера). Например, вот с таким адресом в адресной строке браузера:
localhost/test.html

То же самое с приставкой из названия схемы URI (протокол HTTP):
http://localhost/test.html

В данном случае localhost — это мой компьютер.

В интернете можно найти десятки вариантов разных локальных веб-серверов. Их прямо-таки слишком агрессивно пропихивают при любых запросах в поисковых системах. Но я решил, что раз уж у меня на компьютере установлена операционная система «Windows 10 Pro», то сначала следует поискать в ней.

Оказалось, что операционная система «Windows 10 Pro» включает целый набор серверов для нескольких служб интернета. Этот набор называется «Internet Information Services», сокращенно «IIS»:
https://ru.wikipedia.org/wiki/Internet_Information_Services

По умолчанию IIS в операционной системе «Windows 10 Pro» обычно отключен. В этом можно убедиться, введя в адресной строке браузера адрес:
localhost

Если локальный веб-сервер из набора IIS отключен, то браузер на введение этого адреса выдаст ошибку. Если локальный веб-сервер работает, то должна открыться умолчательная HTML-страничка. У меня она выглядит так:



Как включить набор серверов IIS в операционной системе «Windows 10 Pro»?

Набор серверов IIS является одним из компонентов операционной системы «Windows 10 Pro». В этой операционной системе есть специальный механизм для включения и отключения отдельных компонентов операционной системы. Добраться до него можно через «Панель управления» (по-английски «Control Panel»).

Так как у операционной системы «Windows 10 Pro» очень много разных настроек и меню, то обычно я для поиска нужного пункта пользуюсь кнопкой поиска с увеличительным стеклом, которая находится на экране компьютера возле кнопки «Пуск» операционной системы. После нажатия на эту кнопку откроется окно, снизу которого будет присутствовать строка поиска, в которой можно ввести фразу «Панель управления» и нажать клавишу Enter на клавиатуре.

После этого должно открыться окно панели управления. В этом окне могут быть включены разные режимы просмотра, при некоторых из которых будут видны не все возможные пункты. Следует выбрать режим просмотра, к примеру, «Крупные значки». После этого станут доступны все возможные пункты панели управления. Далее следует выбрать пункт «Программы и компоненты».

После этого откроется окно «Программы и компоненты». В меню слева следует выбрать пункт «Включение или отключение компонентов Windows». Для доступа к этому пункту может потребоваться административный доступ. После этого откроется окно «Компоненты Windows». У меня оно выглядит вот так:



В списке компонентов нужно найти пункт «Службы IIS». У меня квадратик (флажок) слева от названия этого пункта был пустым, что означает, что все серверы и службы из набора IIS полностью отключены. Я один раз щелкнул по этому флажку левой кнопкой мыши, после чего в квадратике (флажке) появился черный квадрат (как на картинке выше). После этого я нажал кнопку «OK» внизу окна и некоторое время (5-10 минут) подождал, пока происходило включение этой компоненты (окно «Компоненты Windows» закрылось).

После этого уже можно пользоваться локальным веб-сервером из набора IIS. Я набрал в адресной строке браузера адрес localhost и браузер открыл вышеупомянутую умолчательную HTML-страничку.

Стоит отметить, что в окне «Компоненты Windows» пункт «Службы IIS» можно открыть с помощью плюсика слева от флажка этого пункта (его можно увидеть на картинке выше). Там откроются три пункта («FTP-сервер», «Службы Интернета», «Средства управления веб-сайтом»), которые, в свою очередь, тоже можно открыть с помощью плюсиков слева от их флажков и так далее. Всего там около 40-50 пунктов, каждый из которых можно либо включить, либо отключить.

То есть возможна очень гибкая настройка набора IIS, которую я на данный момент не потяну, потому что плохо в этом разбираюсь. Как я понимаю, мой выбор самого верхнего пункта в этой настройке — это настройка по умолчанию. При этом внутри описанной иерархии набора IIS выбрались не все пункты (я проверил)! Буду надеяться, что этой умолчательной настройки мне на первое время хватит.

Работа с включенным локальным веб-сервером из набора IIS.

Еще до включения набора серверов IIS в операционной системе «Windows 10 Pro» на основном диске компьютера есть каталог C:\inetpub\. После включения набора IIS в этом каталоге появляется подкаталог C:\inetpub\wwwroot\. В этом каталоге и расположена та самая умолчательная HTML-страница, которая открывается в браузере по адресу localhost, введенному в адресной строке браузера:
C:\inetpub\wwwroot\iisstart.htm

Копируем файлы test.html, script1.js и script2.js из прошлого поста в эту папку C:\inetpub\wwwroot\ и запускаем нашу HTML-страничку из браузера через протокол HTTP:
localhost/test.html

Теперь всё работает без ошибки! Механизм CORS браузера теперь наши скрипты не блокирует.
Tags: Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments