Как запустить на компьютере сайт


Как запустить сайт на компьютере без хостинга: подробная инструкция

Автор Антон Артемов На чтение 5 мин. Просмотров 1.4k. Опубликовано Обновлено

Приветствую, уважаемые читатели блога AFlife.ru. В этой статье мы разберём, как запустить сайт без хостинга, на своем компьютере. Большинство владельцев сайтов пользуется платными сторонними хостингами, однако не все хотят платить за содержание своего сайта. Ещё один вариант, при котором можно запустить сайт на своём компьютере это желание протестировать его. Как видите, причин для использования своего компьютера в качестве хостинга достаточно. А с тем, как это реализуется, мы поговорим ниже.

Обязательные условия

Хорошее интернет-соединение

Рассматриваемый метод размещения сайта далеко не идеален, так как ресурсов обычных персональных компьютеров редко хватает на поддержание работоспособности сайта. Но при тестировании или размещении небольшого сайта этот вариант может подойти. Первостепенно вам потребуется наличие мощного интернет-соединения. Хостингу необходимо делиться собственной скоростью интернета с пользователями, посещающими сайт.  Чем обширнее аудитория, тем больше ресурсов требуется на поддержание работоспособности.

На одного пользователя, как правило, требуется приблизительно 50 кб/с. То есть тариф со скоростью отдачи в 5 Мб/с сможет обеспечить нормальный доступ к сайту одновременно 100 посетителям. При большем количестве посетителей увеличится время ожидания загрузки, из-за чего многие из них попросту откажутся от идеи посетить ваш сайт.

Но эта проблема не будет серьёзной при условии, что вы – владелец узконаправленного сайта с небольшой аудиторией, либо же разработчик, желающий просто протестировать работу сайта.

Современные интернет-провайдеры оказывают услуги по установке оптоволокна и предлагают более скоростные тарифы, что тоже помогает частично решить вышеописанную проблему.

Большой объем физической памяти

Ещё одно обязательное требование – наличие достаточного пространства на жестком диске компьютера. Его должно хватать на то, чтобы хранить весь контент сайта и материалы, публикуемые посетителями (если такая функция имеется). Постарайтесь предварительно оценить приблизительный размер создаваемого ресурса и объём материалов, выкладываемых пользователями.

Статический IP адрес

Ещё отмечу то, что вам потребуется получить сведения о собственном статическом IP-адресе. Он помогает организовывать собственный сервер с постоянным адресом и обеспечивать удалённый доступ к персональному компьютеру и прочим интерфейсам (камерам видеонаблюдения, к примеру). Получить все необходимые сведения можно посредством обращения к своему интернет-провайдеру.

Алгоритм запуска сайта на своём компьютере

Удостоверившись в том, что у вас есть все необходимые для поддержки ресурсы, вы можете приступать к запуску. Я покажу на примере программного обеспечения Open Server. Оно полостью бесплатное, однако за любое денежное пожертвование его можно скачать быстрее. Open Server представляет собой серверную платформу, разработанную специально для использования веб-мастерами. Благодаря ей можно избежать необходимости вручную скачивать и устанавливать целый перечень дополнительных программ по типу php, apache, MySql и так далее.

Рассматриваемое программное обеспечение – это пакет, включающий все требующиеся для запуска сайта компоненты. Они применяются в процессе серверной установки. От вас требуется только распаковать загруженный архив и приступить к созданию сайта или написанию скрипта для него.

Отмечу, что помимо Open Server существуют и другие пакеты, к примеру – Denver, или xampp. Однако они работают хуже рассматриваемого ПО, поэтому я отдаю предпочтение именно ему.

Open Server предоставляет возможность контролировать отдельные элементы сервера, вносить в них различные корректировки и удалять. По мере развития сайта эти функции будут приобретать актуальность и значимость. Рассматриваемый пакет содержит и дополнительные инструменты, при помощи которых можно просматривать логи, планировать задачи сайта и выполнять прочие действия. Отдельно упомяну, что программа позволяет копировать сайт на флешки или карты памяти, после чего – открывать его на других устройствах (крайне полезная функция для разработчиков).

Непосредственно работа начинается со скачивания программы: нужно перейти на официальный сайт разработчика, выбрать оптимальную версию и ввести капчу. Загружать полную версию необязательно. Премиум нужен для применения пакета вместе с другими программами, через которые осуществляется работа с сайтом. Скачивание длится весьма долго: для ускорения нужно внести пожертвование на любую сумму. Делать это или нет – решать вам.

После загрузки нужно установить программу. Размещать её следует непосредственно в корне диска, а не в какой-либо папке. После установки на диске вы найдёте несколько папок и 2 файла установки. В «domains» размещаются папки с запускаемыми сайтами. В «modules» помещается дополнительное ПО. Файлы установки рассчитаны на разные конфигурации систем: выбирайте и запускайте соответствующий. Но перед этим отключите антивирус, иначе он может заблокировать определённые операции установки, из-за чего пакет инсталлируется неправильно. Установку дополнительных компонентов пропускать не стоит.

Установив и запустив программу, вы увидите в правом нижнем углу экрана панель Open Server. По кнопке «Запуск» вы включите сервер, функции кнопок «Перезапустить» и «Остановить» понятны по их названию. В параметрах содержится множество различных пунктов, но они нужны для углублённой работы с программой. Разработчики-специалисты самостоятельно разберутся в них, а простым владельцам, желающим протестировать сайт, они вряд ли понадобятся. Вам нужно просто разместить сайт в соответствующей папке и выбрать его в программе.

На этом всё, сайт запущен, а вы можете тестировать и настраивать его. Чтобы не пропускать новые полезные публикации, рекомендую вам подписаться на специальную рассылку. Благодарю за внимание, всего хорошего!

ПОДПИШИСЬ И НАЧНИ ПОЛУЧАТЬ ЛУЧШИЕ СТАТЬИ ПЕРВЫМ

Email*

Подписаться

Как пользоваться компьютером

Обновлено: 08.05.2020, Computer Hope

На этой странице мы размещаем ссылки на страницы, которые помогут вам в использовании вашего компьютера, его операционной системы и другую информацию, которую, по нашему мнению, должен знать каждый пользователь компьютера.

Компьютеры разных типов

Сегодня многие устройства классифицируются как компьютеры, но эта страница предназначена для пользователей настольных компьютеров, ноутбуков, нетбуков и гибридных компьютеров.

Знакомство с компьютером

Компьютер - фантастическое устройство, и знание того, как он работает и как все работает вместе, помогает вам лучше понять его работу.

Установочный компьютер

Если вы недавно приобрели или получили компьютер, его необходимо собрать и подключить в соответствии с руководством пользователя, прежде чем что-либо делать. Если вам нужна помощь в настройке и включении компьютера, следуйте инструкциям по ссылкам ниже.

Основные сведения о клавиатуре и мыши

За исключением планшетов и смартфонов, все компьютеры имеют клавиатуру и мышь или тачпад в качестве устройств ввода. Если у вас нет опыта управления компьютером с помощью этих элементов, просмотрите следующие документы, чтобы получить полезные советы.

Знакомство с операционной системой

Каждому компьютеру требуется операционная система, которая позволяет программному и аппаратному обеспечению взаимодействовать с компьютером. Понимание того, какая операционная система работает на вашем компьютере, поможет вам найти помощь и узнать, что совместимо с вашим компьютером. Ознакомьтесь с операционной системой и версией, установленной на вашем компьютере.

Создать учетную запись пользователя

Сегодня на каждом компьютере может быть несколько учетных записей пользователей.Во время первоначальной настройки ваш компьютер мог создать для вас учетную запись. Если у вас есть другие пользователи дома, вы можете создать для них дополнительные учетные записи, чтобы они могли использовать компьютер, не влияя на работу других.

Установка, запуск и удаление программы

Все компьютеры поставляются с предустановленными программами, играми и другим программным обеспечением, которое вы можете использовать. Например, браузер, который вы используете для чтения этой страницы, является программой.

Создание, сохранение и открытие файлов

При использовании компьютера одной из наиболее распространенных задач, которые вы выполняете, является создание, открытие, просмотр и сохранение файлов.Ниже приведены ссылки на страницы, относящиеся к этим задачам и действиям, которые вы можете предпринять для их выполнения.

Как работать с текстом в файле

Во время работы с файлом может потребоваться манипулирование любым создаваемым текстом. Ниже приведены страницы, помогающие управлять текстом в файле.

Как выделять, копировать и перемещать файлы

После создания файла его может потребоваться скопировать, переместить или переименовать. Ниже приведены страницы, содержащие справочную информацию о том, как выполнять все эти задачи на вашем компьютере.

Резервные копии файлов

Компьютеры и жесткие диски, на которых хранится информация о компьютере, могут выйти из строя. Когда они все-таки выходят из строя, любая созданная вами информация может быть потеряна, если не будет создана резервная копия.

Как удалить файлы

Когда вы закончите работу с файлом, его можно удалить с компьютера, чтобы сэкономить место и улучшить управление файлами. Ниже приведены страницы об удалении файла с компьютера и связанных темах.

Изменение настроек

Есть миллионы настроек, которые можно изменить на компьютере, чтобы улучшить его работу.Для большинства компьютеров большинство этих параметров можно изменить в Панели управления.

Подключение периферийных устройств

Периферийное устройство - это аппаратное устройство ввода или вывода, которое дает компьютеру дополнительные функции. Например, вы можете подключить к компьютеру принтер, чтобы печатать бумажные копии документов. Шаги по установке этих устройств приведены на страницах, указанных ниже.

Подключение к Интернету

Сегодня Интернет - это наиболее часто используемая функция компьютера, которая становится необходимостью для всех.Если ваш компьютер не подключен к Интернету, см. Ссылку ниже для получения дополнительной информации о подключении к Интернету.

Использование Интернета

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

Компьютерная безопасность

После подключения к Интернету также важно знать обо всех потенциальных угрозах безопасности для вас и вашего компьютера. Ниже приведены ссылки на страницы, которые помогут вам проинформировать вас об опасностях и о том, как оставаться в безопасности в Интернете.

Выключение и выключение компьютера

После того, как вы закончили использовать компьютер в течение дня, вы захотите выключить компьютер для экономии энергии, когда он не используется.

Компьютер для уборки

Чистка и уход за компьютером - важный шаг в поддержании оптимальной работы компьютера. См. Ссылку ниже для получения дополнительной информации о чистке компьютера и его компонентов.

Поиск и устранение неисправностей и решение проблем

Каждый компьютер столкнется с проблемами, и будут моменты, когда вам нужно будет устранить эти проблемы.При использовании компьютера рекомендуется знать, как искать и устранять проблемы или определять причину проблемы. См. Нашу страницу устранения неполадок для получения дополнительной информации.

.

Как работает Интернет - Изучите веб-разработку

Как работает Интернет обеспечивает упрощенное представление о том, что происходит, когда вы просматриваете веб-страницу в веб-браузере на своем компьютере или телефоне.

Эта теория не важна для написания веб-кода в краткосрочной перспективе, но вскоре вы действительно начнете получать пользу от понимания того, что происходит в фоновом режиме.

Клиенты и серверы

Компьютеры, подключенные к Интернету, называются клиентами и серверами .Упрощенная схема их взаимодействия может выглядеть так:

  • Клиенты - это типичные устройства веб-пользователя, подключенные к Интернету (например, ваш компьютер, подключенный к вашему Wi-Fi, или ваш телефон, подключенный к вашей мобильной сети) и программное обеспечение для доступа в Интернет, доступное на этих устройствах (обычно это веб-браузер, такой как Firefox или Chrome).
  • Серверы - это компьютеры, на которых хранятся веб-страницы, сайты или приложения. Когда клиентское устройство хочет получить доступ к веб-странице, копия веб-страницы загружается с сервера на клиентский компьютер для отображения в веб-браузере пользователя.

Клиент и сервер, которые мы описали выше, не раскрывают всей истории. Есть много других частей, и мы опишем их ниже.

А пока представим, что Интернет - это дорога. На одном конце дороги клиент, который похож на ваш дом. На другом конце дороги находится сервер, в котором вы хотите что-то купить.

В дополнение к клиенту и серверу нам также нужно передать привет:

  • Ваше подключение к Интернету : Позволяет отправлять и получать данные в Интернете.По сути, это как улица между вашим домом и магазином.
  • TCP / IP : Протокол управления передачей и Интернет-протокол - это протоколы связи, которые определяют, как данные должны передаваться через Интернет. Это как транспортные механизмы, позволяющие оформить заказ, зайти в магазин и купить товар. В нашем примере это похоже на машину или байк (или что-то еще, что вы можете обойти).
  • DNS : Серверы доменных имен похожи на адресную книгу для веб-сайтов.Когда вы вводите веб-адрес в своем браузере, браузер просматривает DNS, чтобы найти реальный адрес веб-сайта, прежде чем он сможет найти веб-сайт. Браузеру необходимо выяснить, на каком сервере находится веб-сайт, чтобы он мог отправлять HTTP-сообщения в нужное место (см. Ниже). Это похоже на поиск адреса магазина, чтобы получить к нему доступ.
  • HTTP : протокол передачи гипертекста - это протокол приложения, который определяет язык, на котором клиенты и серверы могут общаться друг с другом.Это похоже на язык, на котором вы заказываете товары.
  • Файлы компонентов : Веб-сайт состоит из множества разных файлов, которые подобны различным частям товаров, которые вы покупаете в магазине. Эти файлы бывают двух основных типов:
    • Файлы кода : веб-сайты в основном создаются на основе HTML, CSS и JavaScript, хотя вы познакомитесь с другими технологиями чуть позже.
    • Активы : это собирательное название для всего остального, что составляет веб-сайт, например изображений, музыки, видео, документов Word и PDF-файлов.

Так что же именно происходит?

Когда вы вводите веб-адрес в свой браузер (для нашей аналогии это похоже на прогулку в магазин):

  1. Браузер переходит к DNS-серверу и находит реальный адрес сервера, на котором находится веб-сайт (вы найдете адрес магазина).
  2. Браузер отправляет на сервер сообщение HTTP-запроса с просьбой отправить копию веб-сайта клиенту (вы идете в магазин и заказываете товар).Это сообщение и все другие данные, передаваемые между клиентом и сервером, передаются через ваше интернет-соединение с использованием TCP / IP.
  3. Если сервер одобряет запрос клиента, сервер отправляет клиенту сообщение «200 OK», что означает «Конечно, вы можете посмотреть этот веб-сайт! Вот он», а затем начинает отправлять файлы веб-сайта в браузер в качестве серия небольших фрагментов, называемых пакетами данных (магазин дает вам товары, а вы приносите их домой).
  4. Браузер собирает небольшие фрагменты в целую веб-страницу и отображает ее вам (товары прибывают к вам - новые блестящие штуки, круто!).

Объяснение DNS

Настоящие веб-адреса - это не красивые запоминающиеся строки, которые вы вводите в адресную строку, чтобы найти свои любимые веб-сайты. Это специальные числа, которые выглядят так: 63.245.215.20 .

Это называется IP-адресом, и он представляет собой уникальное место в сети. Однако запомнить это непросто, не так ли? Вот почему были изобретены серверы доменных имен. Это специальные серверы, которые соответствуют веб-адресу, который вы вводите в браузере (например, «mozilla.org ") на настоящий (IP) адрес сайта.

На сайты

можно попасть напрямую через их IP-адреса. Вы можете узнать IP-адрес веб-сайта, введя его домен в такой инструмент, как IP Checker.

Объяснение пакетов

Ранее мы использовали термин «пакеты» для описания формата, в котором данные отправляются от сервера к клиенту. Что мы здесь имеем в виду? В основном, когда данные отправляются через Интернет, они отправляются в виде тысяч небольших фрагментов, так что множество разных веб-пользователей могут загружать один и тот же веб-сайт одновременно.Если бы веб-сайты отправлялись как отдельные большие куски, только один пользователь мог бы загружать их по одному, что, очевидно, сделало бы Интернет очень неэффективным и не очень интересным в использовании.

См. Также

Кредит

Уличное фото: Уличная композиция, Кевин Д.

В этом модуле

.

Как превратить устройство Android в веб-сервер

Вам нужно устройство с низким энергопотреблением для работы вашего веб-сайта? Хотите освободить место, которое занимает ваш веб-сервер? Хотели бы вы поделиться некоторой информацией с людьми, друзьями или публикой, но у вас нет финансов для запуска полномасштабного веб-сервера?

Вы можете использовать эту ссылку для получения специальной скидки на InMotion Hosting.

Или вы можете разместить свою веб-страницу с помощью смартфона или планшета Android. Вот как создать простой веб-сервер Android.

Android: недорогой веб-сервер в вашем кармане

Сайтам не нужны дорогие серверы; им даже не нужны недорогие серверы.Сейчас мы находимся на этапе, когда вы можете разместить динамический веб-сайт, управляемый базой данных, на скромном устройстве.

Например, вы можете использовать стандартный настольный ПК или ноутбук. Но поскольку это занимает много места, вы можете уменьшить масштаб еще больше.Мы уже видели, как вы можете использовать Raspberry Pi в качестве сервера, а также можно использовать смартфон или планшет Android таким же образом.

raspi-server-projects

Это сразу снимает ваши расходы на хостинг.Если количество просмотров страниц низкое, вы должны обнаружить, что ваш веб-сайт работает без блокировки устройства (хотя вам не следует ожидать, что он будет работать в многозадачном режиме во время работы сайта!).

Шаг 1. Установите Tiny Web Server для Android

Для Android доступны различные серверные приложения.Однако многие из них устарели и предназначены для более старых версий Android (например, PAW Server).

В этом руководстве мы используем Tiny Web Server. После этого мы загрузим базовый файл index.html и перейдем к нему с ПК в той же сети, чтобы проиллюстрировать использование Android в качестве веб-сервера.

Подобные приложения основаны на тех же принципах. По сути, те же концепции и процессы требуются для обслуживания веб-страницы просматривающему браузеру.

Скачать : Tiny Web Server для Android (бесплатно)

Шаг 2. Настройка Tiny Web Server

Этот инструмент представляет собой очень упрощенный способ предоставления контента с вашего телефона.Однако он позволяет вам получать доступ к файлам удаленно. Например, вы можете просматривать память телефона из веб-браузера вашего ПК, если оба находятся в одной сети.

Из-за этой простоты у Tiny Web Server нет возможности настройки.Это означает, что вы не можете заставить его по умолчанию использовать файл index.html . Однако это мелочь.

После установки Tiny Web Server запустите приложение. На главном экране у вас есть возможность Изменить путь к серверу, что полезно, если вы хотите указать каталог для хранения ваших веб-файлов.

Вы также можете указать кодировку по умолчанию (полезно, если вы не размещаете сайт на английском языке) или порт сервера .

Шаг 3: Добавьте индекс.html на Tiny Web Server

Чтобы использовать Tiny Web Server для обслуживания веб-страниц, вам необходимо создать файл index.html и загрузить его в нужную папку. Вы можете сделать это на своем рабочем столе с помощью текстового редактора, например Notepad ++, или на Android с помощью HTML или текстового редактора.

Скопируйте файл в предпочтительный каталог (через USB или с помощью файлового менеджера Android) на вашем устройстве Android.На Android переместите файл в / storage / emulated / 0 .

Если вы копируете файл через USB-порт на телефон, перейдите в хранилище телефона в файловом менеджере.Местоположение по умолчанию должно быть в подкаталоге emulated . Скопируйте HTML-файл в этот каталог, затем безопасно отключите устройство.

Скопировав файл на Android, откройте Tiny Web Server и коснитесь Запустить сервер .Перейдите в браузере к URL-адресу по умолчанию, добавив в конец /index.html .

Поздравляем, вы превратили свое Android-устройство в простой веб-сервер! Конечно, показанный пример чрезвычайно прост и лишен стиля.К счастью, CSS легко добавить с помощью обычных инструкций, включенных в файл HTML. Мы рассмотрели некоторые основы CSS, если вы новичок. Лучше всего то, что вы по-прежнему можете использовать свой телефон или планшет в обычном режиме во время хостинга сайта.

Как люди посещают страницы вашего веб-сервера Android?

Неважно, размещаете ли вы свой веб-сайт на смартфоне, планшете или даже на Android TV.

Какое бы устройство Android вы ни выбрали, при использовании вместе с клиентом динамического обновления DNS (из них на No-IP.com есть приложение для Android) вы сможете обслуживать веб-страницы на компьютерах за пределами вашей домашней или корпоративной сети.Эти приложения связывают динамический IP-адрес вашего устройства с выделенным URL-адресом через клиентское приложение, которое вы устанавливаете.

Конечно, если ваш интернет-провайдер предоставляет вам статический IP-адрес, все, что вам нужно сделать, это назначить веб-серверу Android статический IP-адрес.К сожалению, это может оказаться неработоспособным с некоторыми маршрутизаторами, поэтому приложение No-IP.com - лучший вариант. Доступны различные неофициальные клиенты No-IP.com, причем динамическое обновление DNS является хорошим вариантом.

Какой бы вариант вы ни выбрали, просто установите его, задайте URL-адрес в соответствии с инструкциями и выберите место назначения в качестве HTML-страницы.

Создание веб-сервера Android, итоги

Мы рассмотрели основные шаги по созданию веб-сервера на базе Android.На всякий случай, если вы их пропустили, напомним.

  1. Убедитесь, что ваше устройство Android подключено к сети
  2. Установите Tiny Web Server
  3. Создайте файл (ы) HTML
  4. Загрузите файл (ы) на свое устройство Android
  5. Запустите Tiny Web Server

Если веб-сайт относительно простой , вы можете использовать свое Android-устройство в качестве хоста и сэкономить деньги на подключении дорогостоящего сервера.Точно так же вы можете вернуть пространство, используемое сервером или компьютером, работающим в качестве веб-сервера. Возможно, вы можете использовать сервер для другой цели.

С Android создание веб-сервера - лишь один из вариантов. Взгляните на еще несколько полезных применений старого смартфона.

onenote-features 12 малоизвестных функций Microsoft OneNote, которые вам обязательно понравятся

Microsoft OneNote бесплатен и содержит множество функций.Вот несколько небольших функций, которые помогут вам повысить продуктивность ведения заметок!

Об авторе Кристиан Коули (Опубликовано 1388 статей)

Заместитель редактора по безопасности, Linux, DIY, программированию и техническим вопросам.Он также выпускает The Really Useful Podcast и имеет большой опыт в поддержке настольных компьютеров и программного обеспечения. Автор статьи в журнале Linux Format, Кристиан - мастер Raspberry Pi, любитель Lego и фанат ретро-игр.

Ещё от Christian Cawley
Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.

.

Введение в серверную часть - Изучение веб-разработки

Добро пожаловать на курс серверного программирования MDN для новичков! В этой первой статье мы смотрим на программирование на стороне сервера с высокого уровня, отвечая на такие вопросы, как «что это такое?», «Чем оно отличается от программирования на стороне клиента?» И «почему это так полезно?» . Прочитав эту статью, вы поймете, какие дополнительные возможности доступны веб-сайтам благодаря кодированию на стороне сервера.

Предварительные требования: Базовая компьютерная грамотность.Базовое понимание того, что такое веб-сервер.
Цель: Ознакомиться с тем, что такое программирование на стороне сервера, что оно может делать и чем оно отличается от программирования на стороне клиента.

Большинство крупномасштабных веб-сайтов используют серверный код для динамического отображения различных данных, когда это необходимо, обычно извлекаются из базы данных, хранящейся на сервере, и отправляются клиенту для отображения с помощью некоторого кода (например, HTML и JavaScript).

Возможно, наиболее значительным преимуществом серверного кода является то, что он позволяет вам адаптировать контент веб-сайта для отдельных пользователей.Динамические сайты могут выделять контент, который более актуален с учетом предпочтений и привычек пользователей. Он также может упростить использование сайтов, сохраняя личные предпочтения и информацию - например, повторно используя сохраненные данные кредитной карты для оптимизации последующих платежей.

Он может даже разрешать взаимодействие с пользователями сайта, отправляя уведомления и обновления по электронной почте или по другим каналам. Все эти возможности позволяют гораздо глубже взаимодействовать с пользователями.

В современном мире веб-разработки настоятельно рекомендуется изучать разработку на стороне сервера.

Что такое программирование на стороне сервера?

Веб-браузеры взаимодействуют с веб-серверами, используя протокол передачи H и T ext T P (HTTP). Когда вы щелкаете ссылку на веб-странице, отправляете форму или запускаете поиск, HTTP-запрос отправляется из вашего браузера на целевой сервер.

Запрос включает URL-адрес, идентифицирующий затронутый ресурс, метод, который определяет необходимое действие (например, получение, удаление или публикацию ресурса), и может включать дополнительную информацию, закодированную в параметрах URL-адреса (пары значений поля, отправленные через строка запроса), как данные POST (данные, отправленные методом HTTP POST) или в связанных файлах cookie.

Веб-серверы ждут сообщений с запросами клиентов, обрабатывают их, когда они приходят, и отвечают веб-браузеру с ответом HTTP-сообщением . Ответ содержит строку состояния, показывающую, был ли запрос успешным (например, «HTTP / 1.1 200 OK» для успеха).

Тело успешного ответа на запрос будет содержать запрошенный ресурс (например, новую HTML-страницу, изображение и т. Д.), Который затем может быть отображен веб-браузером.

Статические сайты

На схеме ниже показана базовая архитектура веб-сервера для статического сайта (статический сайт - это тот, который возвращает одно и то же жестко закодированное содержимое с сервера всякий раз, когда запрашивается конкретный ресурс).Когда пользователь хочет перейти на страницу, браузер отправляет HTTP-запрос «GET» с указанием его URL.

Сервер получает запрошенный документ из своей файловой системы и возвращает HTTP-ответ, содержащий документ и статус успеха (обычно 200 OK). Если по какой-либо причине файл не может быть получен, возвращается статус ошибки (см. Ответы клиента об ошибках и ответы сервера).

Динамические сайты

Динамический веб-сайт - это веб-сайт, на котором часть содержимого ответа создается динамически , только при необходимости.На динамическом веб-сайте HTML-страницы обычно создаются путем вставки данных из базы данных в заполнители в HTML-шаблонах (это гораздо более эффективный способ хранения больших объемов контента, чем использование статических веб-сайтов).

Динамический сайт может возвращать разные данные для URL-адреса на основе информации, предоставленной пользователем, или сохраненных предпочтений, а также может выполнять другие операции как часть возврата ответа (например, отправка уведомлений).

Большая часть кода для поддержки динамического веб-сайта должна выполняться на сервере.Создание этого кода известно как « серверное программирование » (или иногда « внутренний сценарий »).

На схеме ниже показана простая архитектура для динамического веб-сайта . Как и на предыдущей диаграмме, браузеры отправляют HTTP-запросы на сервер, затем сервер обрабатывает запросы и возвращает соответствующие HTTP-ответы.

Запросы для статических ресурсов обрабатываются так же, как и для статических сайтов (статические ресурсы - это любые файлы, которые не изменяются - обычно: CSS, JavaScript, изображения, предварительно созданные файлы PDF и т. Д.).

Запросы на динамические ресурсы вместо этого перенаправляются (2) на серверный код (показанный на схеме как веб-приложение ). Для «динамических запросов» сервер интерпретирует запрос, считывает необходимую информацию из базы данных (3), объединяет полученные данные с шаблонами HTML (4) и отправляет обратно ответ, содержащий сгенерированный HTML (5,6).

Является ли программирование на стороне сервера и на стороне клиента одинаковым?

Давайте теперь обратим наше внимание на код, участвующий в программировании на стороне сервера и на стороне клиента.В каждом случае код существенно отличается:

  • У них разные цели и задачи.
  • Обычно они не используют одни и те же языки программирования (за исключением JavaScript, который можно использовать на стороне сервера и клиента).
  • Они работают в разных операционных средах.

Код, выполняемый в браузере, известен как код на стороне клиента и в первую очередь предназначен для улучшения внешнего вида и поведения отображаемой веб-страницы.Это включает в себя выбор и стилизацию компонентов пользовательского интерфейса, создание макетов, навигацию, проверку форм и т. Д. Напротив, программирование веб-сайта на стороне сервера в основном включает выбор , контент которого возвращается в браузер в ответ на запросы. Код на стороне сервера выполняет такие задачи, как проверка отправленных данных и запросов, используя базы данных для хранения и извлечения данных и отправляя правильные данные клиенту по мере необходимости.

Клиентский код написан с использованием HTML, CSS и JavaScript - он запускается внутри веб-браузера и практически не имеет доступа к базовой операционной системе (включая ограниченный доступ к файловой системе).

Веб-разработчики не могут контролировать, какой браузер может использовать каждый пользователь для просмотра веб-сайта - браузеры обеспечивают несовместимые уровни совместимости с функциями кода на стороне клиента, а часть проблемы программирования на стороне клиента состоит в том, чтобы изящно обрабатывать различия в поддержке браузеров.

Серверный код может быть написан на любом количестве языков программирования - примеры популярных серверных веб-языков включают PHP, Python, Ruby, C # и NodeJS (JavaScript). Серверный код имеет полный доступ к серверной операционной системе, и разработчик может выбрать, какой язык программирования (и конкретную версию) он хочет использовать.

Разработчики обычно пишут свой код с использованием веб-фреймворков . Веб-фреймворки - это наборы функций, объектов, правил и других конструкций кода, предназначенные для решения общих проблем, ускорения разработки и упрощения различных типов задач, с которыми приходится сталкиваться в определенной области.

Опять же, хотя и клиентский, и серверный код используют фреймворки, домены очень разные, и, следовательно, фреймворки. Веб-фреймворки на стороне клиента упрощают задачи макета и представления, в то время как серверные веб-фреймворки предоставляют множество «общих» функций веб-сервера, которые в противном случае вам, возможно, пришлось бы реализовать самостоятельно (например,грамм. поддержка сеансов, поддержка пользователей и аутентификации, легкий доступ к базе данных, библиотеки шаблонов и т. д.).

Примечание : Клиентские фреймворки часто используются для ускорения разработки клиентского кода, но вы также можете написать весь код вручную; Фактически, написание кода вручную может быть быстрее и эффективнее, если вам нужен только небольшой и простой пользовательский интерфейс веб-сайта.

Напротив, вы почти никогда не рассматривали бы возможность написания серверного компонента веб-приложения без фреймворка - реализация такой жизненно важной функции, как HTTP-сервер, действительно сложно сделать с нуля, скажем, на Python, но веб-фреймворки Python, такие как Django, предоставляют такую ​​возможность. прямо из коробки вместе с другими очень полезными инструментами.

Что можно делать на стороне сервера?

Серверное программирование очень полезно, потому что позволяет нам эффективно и доставлять информацию, адаптированную для отдельных пользователей, и тем самым создавать гораздо лучший пользовательский опыт.

Такие компании, как Amazon, используют серверное программирование для построения результатов поиска по продуктам, предложения целевых продуктов на основе предпочтений клиентов и предыдущих покупательских привычек, упрощения покупок и т. Д.

Банки используют программирование на стороне сервера для хранения информации о счетах и ​​позволяют только авторизованным пользователям просматривать и совершать транзакции.Другие сервисы, такие как Facebook, Twitter, Instagram и Wikipedia, используют серверное программирование для выделения интересного контента, обмена и контроля доступа к нему.

Ниже перечислены некоторые из распространенных применений и преимуществ серверного программирования. Вы заметите, что есть некоторые совпадения!

Эффективное хранение и доставка информации

Представьте, сколько продуктов доступно на Amazon, и представьте, сколько сообщений было написано на Facebook? Создание отдельной статической страницы для каждого продукта или публикации было бы совершенно непрактично.

Серверное программирование позволяет вместо этого хранить информацию в базе данных и динамически создавать и возвращать HTML и другие типы файлов (например, PDF-файлы, изображения и т. Д.). Также можно просто возвращать данные (JSON, XML и т. Д.) Для рендеринга соответствующими клиентскими веб-фреймворками (это снижает нагрузку на сервер по обработке и объем данных, которые необходимо отправить).

Сервер не ограничивается отправкой информации из баз данных и может, в качестве альтернативы, возвращать результат программных инструментов или данные из служб связи.Контент может быть даже ориентирован на тип клиентского устройства, которое его получает.

Поскольку информация хранится в базе данных, ее также легче передавать и обновлять другим бизнес-системам (например, когда товары продаются в Интернете или в магазине, магазин может обновлять свою базу данных инвентаря).

Примечание : вашему воображению не нужно много работать, чтобы увидеть преимущества серверного кода для эффективного хранения и доставки информации:

  1. Перейдите на Amazon или другой сайт электронной коммерции.
  2. Найдите несколько ключевых слов и обратите внимание, как структура страницы не меняется, хотя результаты меняются.
  3. Откройте два или три разных продукта. Еще раз обратите внимание, что у них общая структура и макет, но контент для разных продуктов был извлечен из базы данных.

Для обычного поискового запроса (скажем, «рыба») вы можете увидеть буквально миллионы возвращаемых значений. Использование базы данных позволяет их эффективно хранить и совместно использовать, а также позволяет контролировать представление информации в одном месте.

Индивидуальный пользовательский интерфейс

Серверы

могут хранить и использовать информацию о клиентах для обеспечения удобного и индивидуального взаимодействия с пользователем. Например, на многих сайтах хранятся кредитные карты, поэтому больше не нужно вводить данные. Такие сайты, как Google Maps, могут использовать сохраненные или текущие местоположения для предоставления информации о маршрутах, а также для поиска или истории поездок, чтобы выделять местные предприятия в результатах поиска.

Можно использовать более глубокий анализ привычек пользователей, чтобы предугадывать их интересы и дополнительно настраивать ответы и уведомления, например, предоставляя список ранее посещенных или популярных мест, которые вы, возможно, захотите посмотреть на карте.

Примечание: Карты Google сохраняют историю вашего поиска и посещений. Часто посещаемые или часто просматриваемые места выделяются больше, чем другие.

Результаты поиска Google оптимизированы на основе предыдущих поисков.

  1. Перейти в поиск Google.
  2. Поиск по запросу "футбол".
  3. Теперь попробуйте ввести «избранное» в поле поиска и понаблюдайте за подсказками автозаполнения при поиске.

Совпадение? Нада!

Контролируемый доступ к контенту

Программирование на стороне сервера позволяет сайтам ограничивать доступ для авторизованных пользователей и предоставлять только ту информацию, которую пользователю разрешено видеть.

Примеры из реального мира:

  • Социальные сети, такие как Facebook, позволяют пользователям полностью контролировать свои собственные данные, но только друзьям разрешено просматривать или комментировать их. Пользователь определяет, кто может видеть его данные, и, соответственно, чьи данные отображаются в его ленте - авторизация является центральной частью взаимодействия с пользователем!
  • Сайт, на котором вы сейчас находитесь, контролирует доступ к контенту: статьи видны всем, но только авторизованные пользователи могут их редактировать.Чтобы попробовать это, нажмите кнопку Edit вверху этой страницы - если вы вошли в систему, вам будет показан вид редактирования; если вы не вошли в систему, вы попадете на страницу регистрации.

Примечание : Рассмотрим другие реальные примеры, когда доступ к контенту контролируется. Например, что вы увидите, если зайдете на интернет-сайт своего банка? Войдите в свою учетную запись - какую дополнительную информацию вы можете видеть и изменять? Какую информацию вы видите, которую может изменить только банк?

Сохранение информации о сеансе / состоянии

Программирование на стороне сервера позволяет разработчикам использовать сеанс - в основном, механизм, который позволяет серверу хранить информацию о текущем пользователе сайта и отправлять различные ответы на основе этой информации.

Это позволяет, например, сайту узнать, что пользователь ранее входил в систему, и отображать ссылки на его электронные письма или историю заказов, или, возможно, сохранить состояние простой игры, чтобы пользователь мог снова перейти на сайт и продолжить где они его оставили.

Примечание : Посетите сайт газеты с моделью подписки и откройте несколько вкладок (например, «Возраст»). Продолжайте посещать сайт в течение нескольких часов / дней. В конце концов, вы начнете перенаправляться на страницы, объясняющие, как подписаться, и вы не сможете получить доступ к статьям.Эта информация является примером информации о сеансе, хранящейся в файлах cookie.

Уведомления и связь

Серверы

могут отправлять общие или пользовательские уведомления через сам веб-сайт или через электронную почту, SMS, мгновенные сообщения, видеосвязь или другие службы связи.

Вот несколько примеров:

  • Facebook и Twitter отправляют электронные письма и SMS-сообщения, чтобы уведомить вас о новых сообщениях.
  • Amazon регулярно отправляет электронные письма о продуктах, в которых предлагаются продукты, похожие на уже купленные или просмотренные, которые могут вас заинтересовать.
  • Веб-сервер может отправлять предупреждения администраторам сайта, предупреждая их о нехватке памяти на сервере или подозрительной активности пользователя.

Примечание : Самый распространенный вид уведомления - «подтверждение регистрации». Выберите практически любой крупный сайт, который вас интересует (Google, Amazon, Instagram и т. Д.), И создайте новую учетную запись, используя свой адрес электронной почты. Вскоре вы получите письмо по электронной почте, подтверждающее вашу регистрацию или требующее подтверждения для активации вашей учетной записи.

Анализ данных

Веб-сайт может собирать много данных о пользователях: что они ищут, что покупают, что рекомендуют, как долго они остаются на каждой странице. Серверное программирование может использоваться для уточнения ответов на основе анализа этих данных.

Например, Amazon и Google рекламируют продукты на основе предыдущих поисков (и покупок).

Примечание : Если вы являетесь пользователем Facebook, перейдите в основную ленту и просмотрите поток сообщений.Обратите внимание на то, что некоторые из постов расположены не по порядку номеров - в частности, посты с большим количеством «лайков» часто находятся в списке выше, чем более свежие посты.

Также посмотрите, какую рекламу вам показывают - вы можете увидеть рекламу того, что просматривали на других сайтах. Алгоритм Facebook для выделения контента и рекламы может быть загадкой, но ясно, что он зависит от ваших лайков и привычек просмотра!

Сводка

Поздравляю, вы подошли к концу первой статьи о программировании на стороне сервера.

Теперь вы узнали, что код на стороне сервера выполняется на веб-сервере и что его основная роль - контролировать , какая информация отправляется пользователю (в то время как код на стороне клиента в основном обрабатывает структуру и представление этих данных для Пользователь).

Вы также должны понимать, что это полезно, потому что позволяет нам создавать веб-сайты, которые эффективно и доставляют информацию, адаптированную для отдельных пользователей, и имеют хорошее представление о некоторых вещах, которые вы могли бы делать, когда вы работаете на стороне сервера. программист.

Наконец, вы должны понимать, что код на стороне сервера может быть написан на нескольких языках программирования и что вы должны использовать веб-фреймворк, чтобы упростить весь процесс.

В следующей статье мы поможем вам выбрать лучший веб-фреймворк для вашего первого сайта. Здесь мы рассмотрим основные взаимодействия клиент-сервер чуть более подробно.

В этом модуле

.

Смотрите также

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Одноклассники
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий