Что такое html сервер
Перейти к содержимому

Что такое html сервер

  • автор:

Что такое web-сервер

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

Веб-сервером обычно называют программное обеспечением и сервер, на котором данное программное обеспечение работает.

Переход на сайт веб-сервера

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

Наши сервера хостинга используют связку Apache + NGINX. Купить хостинг для сайтов в Москве и СПБ можно на нашем сайте.

МИР Visa MasterCard СБП QIWI Wallet Безналичный платеж

Все способы

© 2009–2023 «HANDYHOST.RU» 8-800-505-68-01

  • Услуги
  • Хостинг сайтов
  • Домены
  • Конструктор сайтов
  • Linux VPS / Windows VPS
  • Выделенные серверы
  • SSL сертификаты
  • Клиентам
  • Контакты
  • О компании
  • Акции
  • Оборудование
  • Партнерская программа
  • Поддержка
  • Способы оплаты
  • Регламент
  • Документы
  • Справка

Что такое веб-сервер

Веб-сервер — это штука, без которой не работает ни один сайт в интернете. Каждый раз, когда вы заходите на сайт, ваш браузер связывается с сервером и запрашивает необходимые для работы ресурсы: HTML, CSS и JS файлы, картинки, шрифты и прочее. Веб-сервер отвечает за то, чтобы найти эти ресурсы на сервере и переслать их браузеру.

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

Когда веб-сервер не нужен

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

Фокус в том, что браузер сам берет на себя функцию веб-сервера, когда сталкивается с адресами вида file://. . Сделано это ради удобства и работает только с file:// адресами.

Подробнее про адреса читайте в статье Относительный адрес. Про *.html , *.css и прочие файлы — в статье про Статику.

Статический сайт на сервере

Самый простой вид сайтов — это статический сайт. Такой сайт состоит из одного HTML файла и нескольких подключаемых ресурсов — файлов статики. Чтобы опубликовать статический сайт в интернете, нужен веб-сервер, который:

  • дождется запроса от браузера
  • поймет, какой файл хочет браузер
  • найдет файл на диске сервера
  • отправит файл браузеру

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

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

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

Чтобы веб-серверу было проще понять, что и где искать – программисты добавляют к адресам специальные префиксы. Всю статику размещают на адресах, начинающихся со /static/. , а всю медиа — на /media/. . На разных сайтах используют разные префиксы, единого стандарта здесь нет. В терминах Django эти префиксы называются STATIC_URL и MEDIA_URL .

Пути к каталогам, в которых хранятся файлы статики и медиа в терминах Django называют STATIC_ROOT и MEDIA_ROOT соответственно.

STATIC_URL — это префикс урла, а STATIC_ROOT — префикс пути

Попробуйте бесплатные уроки по Python

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

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Что такое веб-сервер

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

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

Введение

Понятие «веб-сервер» может относиться как к аппаратной начинке, так и к программному обеспечению. Или даже к обеим частям, работающим совместно.

  1. С точки зрения «железа», «веб-сервер» — это компьютер, который хранит файлы сайта (HTML-документы, CSS-стили, JavaScript-файлы, картинки и другие) и доставляет их на устройство конечного пользователя (веб-браузер и т.д.). Он подключён к сети Интернет и может быть доступен через доменное имя, подобное mozilla.org .
  2. С точки зрения ПО, веб-сервер включает в себя несколько компонентов, которые контролируют доступ веб-пользователей к размещённым на сервере файлам, как минимум — это HTTP-сервер. HTTP-сервер — это часть ПО, которая понимает URL-адреса (веб-адреса) и HTTP (протокол, который ваш браузер использует для просмотра веб-страниц).

На самом базовом уровне, когда браузеру нужен файл, размещённый на веб-сервере, браузер запрашивает его через HTTP-протокол. Когда запрос достигает нужного веб-сервера («железо»), сервер HTTP (ПО) принимает запрос, находит запрашиваемый документ (если нет, то сообщает об ошибке 404) и отправляет обратно, также через HTTP.

Чтобы опубликовать веб-сайт, необходим либо статический, либо динамический веб-сервер.

Статический веб-сервер, или стек, состоит из компьютера («железо») с сервером HTTP (ПО). Мы называем это «статикой», потому что сервер посылает размещённые файлы в браузер «как есть».

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

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

Активное изучение

Погружаемся глубже

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

Хостинг файлов

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

Технически, вы можете разместить все эти файлы на своём компьютере, но гораздо удобнее хранить их на выделенном веб-сервере, который:

  • всегда запущен и работает
  • всегда подключён к Интернету
  • имеет неизменный IP адрес (не все провайдеры предоставляют статический IP-адрес для домашнего подключения)
  • обслуживается третьей, сторонней компанией

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

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

Связь по HTTP

Во-вторых, веб-сервер обеспечивает поддержку HTTP (англ. Hypertext Transfer Protocol — гипертекстовый транспортный протокол). Как следует из названия, HTTP указывает, как передавать гипертекст (т.е. связанные веб-документы) между двумя компьютерами.

Протокол представляет собой набор правил для связи между двумя компьютерами. HTTP является текстовым протоколом без сохранения состояния.

Все команды являются простым человекочитаемым текстом.

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

HTTP задаёт строгие правила взаимодействия клиента и сервера. Мы рассмотрим сам протокол HTTP в технической статье немного позднее. Пока достаточно знать об этих правилах:

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

The MDN 404 page as an example of such error page

На веб-сервере HTTP-сервер отвечает за обработку входящих запросов и ответ на них.

  1. При получении запроса, HTTP-сервер сначала проверяет, существует ли ресурс по данному URL.
  2. Если это так, веб-сервер отправляет содержимое файла обратно в браузер. Если нет, сервер приложения генерирует необходимый ресурс.
  3. Если ничто из этого не возможно, веб-сервер возвращает сообщение об ошибке в браузер, чаще всего «404 Not Found». (Это ошибка настолько распространена, что многие веб-дизайнеры тратят большое количество времени на разработку 404 страниц об ошибках.)

Статический и Динамический контент

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

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

Возьмём для примера страницу, которую вы сейчас читаете. На веб-сервере, где она хостится, есть сервер приложения, который извлекает содержимое статьи из базы данных, форматирует его, добавляет в HTML-шаблоны и отправляет вам результат. В нашем случае, сервер приложения называется Kuma, написан он на языке программирования Python (используя фреймворк Django). Команда Mozilla создала Kuma для конкретных нужд MDN, но есть множество подобных приложений, построенных совершенно на других технологиях.

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

Следующие шаги

Теперь, когда вы познакомились с веб-серверами, вы можете:

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

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

Что такое Веб-сервер¶

Понятие Веб-сервер может относиться как к железу, так и к программному обеспечению (ПО).

  1. С точки зрения железа Веб-сервер — это компьютер, который хранит ресурсы сайта (HTML документы, CSS стили, JavaScript файлы и другое) и доставляет их на устройство конечного пользователя (веб-браузер и т.д.). Обычно он подключен к сети Интернет и может быть доступен через доменное имя, например, mozilla.org.
  2. С точки зрения ПО, Веб-сервер включает в себя некоторые вещи, которые контролируют доступ Веб-пользователей к размещенным на сервере файлам, это минимум HTTP сервера . HTTP сервер это часть ПО, которая понимает URL’ы (веб-адреса) и HTTP (протокол который использует ваш браузер для просмотра веб-станиц).

Простыми словами, когда браузеру нужен файл, размещенный на веб-сервере, браузер запрашивает его через HTTP. Когда запрос достигает нужного веб-сервера (железо), сервер HTTP (ПО) передает запрашиваемый документ обратно, также через HTTP.

  • https://ru.wikipedia.org/wiki/Статический_сайт
  • https://ru.wikipedia.org/wiki/Динамический_сайт
  • https://ru.wikipedia.org/wiki/Сервер_приложений

Чтобы опубликовать веб-сайт, нужен либо статический, либо динамический веб-сервер.

Статический веб-сервер или стек состоит из компьютера (железо) с сервером HTTP (ПО). Мы называем это «статикой», потому что сервер посылает размещенные на нем файлы в браузер не изменяя их.

Динамических веб-сервер состоит из статического веб-сервера плюс дополнительного программного обеспечения, наиболее часто сервером приложений и базы данных. Мы называем его «динамический», потому что сервер приложений изменяет исходные файлы перед отправкой в ваш браузер по HTTP.

Сервера приложений для Python

Например, для получения итоговой страницы, которую вы видите в браузере, сервер приложений может заполнить HTML шаблон данными из базы данных. Такие сайты, как MDN (Mozilla Developer Network) или Википедия состоят из тысяч веб-страниц, но они не являются реальными HTML документами, лишь несколько HTML шаблонов и гигантские базы данных. Эта структура упрощает и ускоряет сопровождение веб-приложений и доставку контента.

Более детально¶

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

Хостинг файлов¶

Во-первых, веб-сервер хранит файлы веб-сайта, а именно все HTML документы и связанные с ними ресурсы, включая изображения, CSS стили, JavaScript файлы, шрифты и видео.

  • https://ru.wikipedia.org/wiki/Выделенный_сервер
  • Статический IP адрес

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

  • всегда запущен и работает
  • постоянно в сети Интернет
  • имеет один и тот же IP адрес все время (не все провайдеры предоставляют статический IP адрес для домашнего подключения)
  • обслуживается на стороне

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

Связь по HTTP¶

Во-вторых, веб-сервер обеспечивает поддержку HTTP (hypertext transfer protocol). Как следует из названия, HTTP указывает, как передавать гипертекст (т.е. связанные веб-документы) между двумя компьютерами.

Протокол представляет собой набор правил для связи между двумя компьютерами. HTTP является текстовым протоколом без сохранения состояния.

Текстовый

Все команды это человеко-читаемый текст.

Не сохраняет состояние

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

HTTP задает строгие правила, как клиент и сервер должны общаться. Более подробно смотри http-protocol . Вот некоторые из них:

  • Только клиенты могут отправлять HTTP запросы, и только на сервера. Сервера отвечают только на HTTP запросы клиента.
  • Когда запрашивается физический файл, клиент должен сформировать file URL ( file:///var/log/syslog )
  • Веб-сервер должен ответить на каждый HTTP запрос, по крайней мере с сообщением об ошибке.

На веб-сервере, HTTP сервер отвечает за обработку входящих запросов и ответ на них.

../_images/mdn-404.png

  1. При получении запроса, HTTP сервер сначала проверяет существует ли ресурс по данному URL.
  2. Если это так, веб-сервер отправляет содержимое файла обратно в браузер. Если нет, сервер приложений создает необходимый ресурс.
  3. Если это не возможно, веб-сервер возвращает сообщение об ошибке в браузер, чаще всего «404 Not Found». (Эта ошибка настолько распространена, что многие веб-дизайнеры тратят большое количество времени на разработку 404 страниц об ошибках.)

Статика vs Динамика¶

Грубо говоря, сервер может отдавать статическое или динамическое содержимое.

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

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

Возьмем к примеру страницу What is web server, перевод которой вы читаете. На веб-сервере, где это хостится, есть сервер приложений, который извлекает содержимое статьи из базы данных, форматирует его, добавляет в HTML шаблоны и отправляет вам результат. В нашем случае, сервер приложений называется Kuma , написан он на языке программирования Python (используя фреймворк Django ). Команда Mozilla создали Kuma для конкретных нужд MDN, но есть много подобных приложений, построенных на многих других технологий.

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

Previous: Веб сервер Next: CGI

© Copyright 2020, Кафедра Интеллектуальных Информационных Технологий ИнФО УрФУ. Created using Sphinx 1.7.6.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *