Содержание
как работают IP, DNS, HTTP и SSL
Правила интернета: как работают IP, DNS, HTTP и SSL
Протоколы — это правила в интернете, по которым устройства с разными операционными системами и программным обеспечением обмениваются данными. С их помощью, например, пользователь Safari на MacBook получает сообщение, отправленное через Chrome на Android.
Чтобы обмениваться данными было удобнее, задачи по их отправке и получению разделены. Создана архитектура «клиент-сервер», где клиент отправляет запрос, а сервер принимает его и возвращает ответ.
Сервер — это специальная программа, или мощный компьютер, его ещё называют хост-системой. Клиент — любое устройство для работы с сайтом, например, ноутбук, смартфон или бортовой компьютер в автомобиле.
Веб-приложение — это клиент-серверное приложение, в котором клиентом выступает браузер. Допустим, на сервере хранится HTML-страница с кодом. Браузер получает файл и показывает этот код как привычную страницу сайта.
Браузер отправляет запрос, а сервер принимает его и возвращает ответ
Какие бывают протоколы
Протоколы определяют правила выполнения конкретных задач. Но фронтендерам необязательно знать все существующие протоколы — достаточно разбираться в основных.
Internet Protocol — IP
IP отвечает за поиск компьютеров в сети по их IP-адресам. Ещё он предоставляет стратегию маршрутизации, то есть составляет оптимальный маршрут для передачи данных.
Данные в интернете передаются IP-пакетами. У каждого пакета есть заголовок и данные. В заголовке находятся IP-адреса источника и пункта назначения. Данные — это само содержимое, например, часть веб-страницы.
Работу IP можно сравнить с почтовым отделением: протокол направляет IP-пакеты по интернету так же, как почта рассылает письма по всему миру. При доставке почта использует пункты передачи: письмо из отделения сначала попадает на поезд, потом на грузовик и в конце вручается адресату. В интернете тоже есть «пункты передачи» — их называют маршрутизаторами. Цель маршрутизатора — отправить пакет в пункт назначения по самому короткому пути. Если всё идёт хорошо, пакет прибывает на ближайший к получателю маршрутизатор, который точно знает, куда его отправить. Но бывает и так, что какой-то из маршрутизаторов на пути взломан или вышел из строя, и тогда выбирается другой путь:
Множество соседних путей делает передачу данных более надёжной.
DNS
Уникальный IP-адрес есть у каждого домена. Он записывается в виде четырёх чисел от нуля до 255 — например, 74.125.20.113. Введите этот адрес в браузерную строку и посмотрите, на какой сайт вы попали.
Ответ: на https://www.google.com/
DNS связывает IP-адрес с понятным для людей доменным именем, например, 178.79.181.169 превращается в htmlacademy.ru:
Принцип работы DNS похож на поиск и вызов контактов в телефоне. Вряд ли кто-то помнит 1317а друзей — да это и необязательно, ведь они хранятся в списке контактов. Когда мы хотим кому-то позвонить, то просто находим нужное имя и нажимаем кнопку вызова — в этот момент начинается соединение, но не по имени, а по 1317у телефона.
DNS-сервер — это и есть «список всех контактов», то есть IP-адресов, которые там хранятся. Каждому IP-адресу присвоен домен. И когда мы вводим в строке браузера имя домена, то происходит запрос к DNS-серверу — запрашивается IP-адрес.
SSL/TLS
SSL — криптографический протокол шифрования запросов и ответов, он нужен для безопасного перемещения данных по интернету, а TLS — его продвинутая версия. SSL уже почти не используют, но это название было таким популярным, что его до сих пор употребляют, а любой SSL-сертификат у хостинг-компаний — TLS-сертификат.
TCP и UDP
Оба протокола отвечают за передачу данных и работают поверх IP, но с небольшой разницей. TCP доставляет данные без потерь, поэтому его используют для передачи фотографий, сообщений и другой важной информации. А вот UDP не гарантирует доставку, но зато он гораздо быстрее. Его используют, когда скорость важнее надёжности, например, при передаче аудиосообщений или видеотрансляциях.
HTTP и HTTPS
HTTP и HTTPS предназначены для передачи данных и в итоге пользователи могут просматривать веб-страницы. На самом деле HTTPS — это не отдельный протокол, а расширение HTTP. Он безопаснее, так как использует SSL/TLS для шифрования обычных запросов и ответов.
HTTP
HTTP — один из самых используемых протоколов в интернете, поэтому посмотрим подробнее, как он работает.
Протокол работает в формате запрос-ответ с двумя участниками общения:
клиент — формирует запросы и обрабатывает ответы;
сервер — обрабатывает запросы и формирует ответы.
Клиент делает запрос на сервер для передачи каждого ресурса: файлов HTML, CSS, JavaScript, изображений или видеофайлов. Затем сервер отвечает на запрос, отправляя ресурс.
Представим, что мы создали HTML со следующей разметкой:
Это простой HTML-файл, в котором подключены два ресурса: стилевой файл style. css и изображение logo.svg. Браузер запросит три ресурса: index.html, style.css и logo.svg.
Для каждого запроса и ответа открывается своё TCP-соединение. При каждом соединении происходит трёхстороннее «рукопожатие»: клиент и сервер трижды обмениваются пустыми пакетами данных, чтобы удостовериться в существовании друг друга и готовности к работе с данными:
Запрос-ответ выглядит так:
Трёхстороннее «рукопожатие» нужно проводить в каждом TCP-соединении, так как HTTP не запоминает состояния, поэтому ни клиент, ни сервер не могут сохранять информацию между различными запросами. HTTP — один из самых ранних протоколов, и при его создании никто не ожидал, что на веб-странице придётся загружать так много ресурсов.
Такое «рукопожатие» делает загрузку страницы медленнее. Чтобы решить проблему, разработчикам приходится сокращать количество загружаемых ресурсов, например, использовать спрайты или разделять файлы по разным доменам — этот метод называется domain sharding. Такие манипуляции уменьшают количество TCP-соединений, хотя и создают свои трудности.
HTTP/2
HTTP/2 — улучшенная версия HTTP. По данным Can I Use, его поддерживают большинство браузеров.
Главное нововведение этого протокола — одно TCP-соединение на разные запросы, или мультиплексирование:
Как выглядит запрос-ответ в HTTP/2:
Ещё в HTTP/2 появился push-сервер, то есть сервер может отправлять больше ответов на один клиентский запрос. Например, если клиент запрашивает файлы index.html, style.css и logo.svg, то сервер отправит сразу три файла. Без push-сервера клиенту нужно запрашивать каждый файл отдельно.
Поэтому многие оптимизации под HTTP при переходе на HTTP/2 уже не нужны. Например, можно отказаться от разделения ресурсов по доменам.
HTTP/3
HTTP/3 — третья версия HTTP, основанная на QUIC — протоколе, который предполагает быстрое подключение к интернету через UDP.
Главное преимущество HTTP/3 — сокращение задержки при установке соединения. QUIC достаточно одного «рукопожатия», чтобы установить безопасный сеанс. А ещё HTTP/3 работает поверх UDP, поэтому скорость доставки данных быстрее, чем у HTTP и HTTP/2 поверх TCP.
Протокол уже получил статус предложенного стандарта, то есть браузеры почти завершили работу над поддержкой протокола. Но пока поддержки недостаточно, чтобы переводить сайт с HTTP/2 на HTTP/3.
WebSockets
В этом протоколе соединение устанавливается гораздо быстрее, чем в HTTP — здесь отправляется «рукопожатие» сразу со всей необходимой информацией для передачи данных. Канал при этом остаётся открытым, пока кто-то из сторон не прервёт его. Это означает, что запросы и ответы будут происходить практически мгновенно. А если сервер получит новые данные, он отправит их клиенту без запроса.
Протокол WebSockets используют там, где важна скорость доставки данных, например, в чатах и мессенджерах, играх, онлайн-трансляциях. Он, скорее всего, не пригодится при разработке простых веб-приложений, небольших CMS или при использовании REST API, где достаточно HTTP-запросов GET, POST, PUT и DELETE.
Какие бывают протоколы
Протоколы — это то, с чем вы уже работали, но, возможно, даже не подозревали. Зная принципы их работы, вы сможете глубже разобраться в связи фронтенда и бэкенда, а ещё поймёте, какие оптимизации проводить в веб-приложении, как лучше передавать данные или как защитить сайт от взлома.
Выбор технологии для приложения
Знание протоколов даёт понимание, какие технологии использовать для определённых задач. Какой протокол выбрать для онлайн-чата с большим количеством пользователей, а какой — для загрузки фотографии пользователя в профиль.
Защита данных
Если знать уязвимости на пути передачи данных, можно предусмотреть и смягчить последствия атак на веб-приложение. Например, создать стратегию защиты данных банковских карт на стороне клиента и на стороне сервера.
Оптимизация приложения под протоколы
Зная особенности протоколов, можно ускорить веб-приложение и не тратить время на ненужную оптимизацию. А ещё появляется понимание, что менять при переходе на другой протокол.
Например, чтобы оптимизировать приложение под HTTP/1, нужно уменьшить количество TCP-соединений. Для этого разработчики сокращают количество файлов: все стили объединяют в styles.css, а все скрипты — в scripts.js. Для HTTP/2 такая оптимизация не нужна, поэтому можно разделить общие CSS и JS-файлы на отдельные и подключать на страницу только необходимые.
Спрайты — оптимизация для протокола HTTP. Их минус в том, что для каждой страницы загружается спрайт с иконками всего веб-приложения, даже если на странице используется всего несколько иконок. Для HTTP/2 можно загружать только те изображения, которые нужны пользователю. При этом необязательно полностью избавляться от спрайтов — можно создать спрайты для компонентов и использовать необходимые на конкретной странице.
Если приложение оптимизировано к HTTP/2, то для перехода на HTTP/3 ничего не нужно делать: все оптимизации подойдут и для HTTP/3.
Прохождение собеседований
Знание протоколов и сетей повышает ценность фронтендера и влияет на его зарплату. Чтобы успешно пройти собеседование на мидла в крупные компании, полезно знать TCP/IP, HTTP/HTTPS, DNS и WebSocket. Ещё нужно хотя бы на базовом уровне знать про безопасность: XSS-атаки и CORS — а разобраться в этой теме без знания протоколов не получится.
При разработке приложений полезно знать, как работает веб и по каким принципам передаются данные. Понимание протоколов позволяет шире смотреть на свою работу, а также знать, куда движется сфера IT и какие технологии будут востребованы в будущем. А ещё эти знания пригодятся при собеседовании на позицию мидла или сеньора. Так что, если вы планируете повысить уровень квалификации, в протоколах точно нужно разбираться.
что это и для чего нужен
В статье рассказывается:
- Что такое веб-сервер
- Принципы работы веб-сервера
- Основные типы веб-серверов
- Настройка веб-сервера
- Факультет основ работы с маркетплейсами и e-commerce
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Веб-сервер необходим для хранения и обработки информации, иными словами, он обеспечивает бесперебойную работу сайта и его взаимодействие с пользователем. Самый простой пример работы веб-сервера – интернет-магазин. Вы заходите на сайт, формируете запросы, получаете ответы на них в виде веб-страниц – всё это делает веб-сервер.
На сегодняшний день существует около десятка наиболее популярных веб-серверов. Каждый из них заточен на решение той или иной задачи. Какие-то лучше подойдут для ведения блогов, другие – корпоративных сайтов, третьи – тех же интернет-магазинов. Подробнее о том, что такое веб-сервер, как он запускается и настраивается, вы узнаете из нашего материала.
Что такое веб-сервер
Веб-сервером называется не только оборудование, но и обслуживающие веб-сервер программы. Также этим словом обозначается и то, и другое в совокупности.
- Оборудование для веб-сервера представляет собой хранилище файлов сайта. На нем хранятся как отдельные страницы и файлы стилей, так и мультимедийные файлы – аудио, видео, графика и др. С сервера контент попадает на компьютер, с которого был отправлен запрос, и выводится в наглядном виде через браузер.
- Программная составляющая веб-сервера позволяет осуществлять управление размещенными на нем данными, обеспечивает доступ пользователей. Минимально для этого требуется HTTP-сервер, то есть программа, которая может распознавать URL-адреса и работает на протоколе HTTP, который необходим для доступа к веб-странице.
Если представить работу веб-сервера в общем виде, то выглядеть это будет следующим образом. Пользователь через браузер запрашивает тот или иной файл. Запрос поступает на сервер по HTTP-протоколу. Если страница или файл с заданным URL размещен на сервере, то он направляется пользователю также по HTTP-протоколу. Если не найден – по нему же пользователю направляется сообщение об ошибке с кодом 404.
Что такое веб-сервер
Для размещения сайта в интернете нужен веб-сервер. Он может быть статическим либо динамическим.
- Статический веб-сервер использует оборудование и программное обеспечение HTTP. С него данные направляются пользователю в неизменном виде.
- В динамическом веб-сервере используются наряду со статическим веб-сервером вспомогательные приложения, обычно в виде базы данных. В этом случае передаваемые пользователю данные изменяются, прежде чем они будут доставлены пользователю.
Принципы работы веб-сервера
Основное назначение веб-сервера – хранение контента, который может быть представлен текстовой, графической информацией, мультимедийными файлами. Однако возможности веб-сервера гораздо шире:
- получение и отправка запросов;
- запуск программы на серверных языках программирования;
- составление веб-страниц;
- отправка веб-страниц пользователю;
- защита информации;
- идентификация клиентов;
- учет активности пользователей;
- обработка запросов иных видов (mailto, FTP и т. д.).
Представление о работе веб-сервера дает понимание принципов обмена информацией в сети. Для этого используются алгоритмы, которые называются протоколами. Каждый URL-адрес, будь то веб-страница или файл, начинается с протокола (ftp, http://, https:// и пр.).
Hyper Text Transfer Protocol – протокол передачи гипертекста. Страницы сайта всегда имеют вид гипертекстового документа. В этом виде сервер передает их пользователю, который просматривает их в браузере.
- Когда пользователь набирает в браузере адрес или кликает ссылку, браузер направляет запрос на сервер посредством именно этого протокола.
- Хост, к которому относится введенный пользователем адрес веб-серверов, запускает несколько программ на сервере, отвечающих за определенные операции.
- Сервер расшифровывает запрос и выполняет команду пользователя.
- Формируется гипертекст, кодируется и отправляется обратно.
- Браузер получает ответ, переводит код в html и отображает веб-страницу на устройстве пользователя.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
pdf 3,7mb
doc 1,7mb
Уже скачали 20462
Основные типы веб-серверов
Наиболее распространены следующие виды веб-серверов.
Основные типы веб-серверов
Программистам без опыта помогают инструменты, с помощью которых установка веб-сервера возможна на любом компьютере за несколько минут.
- OpenServer. Компактное средство разработки, предоставляющее различные базы данных и языки программирования. Также включает дополнительные возможности вроде интерфейса работы с БД PhpMyAdmin. Является признанным лидером у домашних пользователей.
- Xampp. Поддерживает такие веб-серверы как Apache, php, Perl, MariaDB и пр. Не требует оплаты, имеет удобный интерфейс управления.
- Denwer. Отличная программа, поддерживающая Apache, веб-сервер PHP, MySQL, PhpMyAdmin. Однако в новые версии включаются устаревшие библиотеки. Фактически проект приостановился.
Только до 20.04
Скачай подборку тестов, чтобы определить свои самые конкурентные скиллы
Список документов:
Тест на определение компетенций
Чек-лист «Как избежать обмана при трудоустройстве»
Инструкция по выходу из выгорания
Чтобы получить файл, укажите e-mail:
Подтвердите, что вы не робот,
указав номер телефона:
Уже скачали 7503
По итогам 2021 года предпочтения пользователей к тому или иному виду серверов выглядят следующим образом:
- Apache — 40,86%;
- Nginx — 27,66%;
- IIS — 11,01;
- LiteSpeed — 2,4%;
- Apache Traffic Server — 0,53%;
- OpenGSE — 0,44%;
- Phusion Passenger — 0,36%;
- Apache Tomcat — 0,16%.
Настройка веб-сервера
Создание веб-сервера начинается с того, что администратор выбирает машину, имеющую доставочную производительность. Это может быть как физическая, так и виртуальная машина.
На ней устанавливается стек LAMP, в который входят Apache, PHP, MySQL, могут включаться memcached, nginx и реверс-прокси, являющийся сетевым экраном и стабилизатором нагрузки. если вводятся дополнительные инстанции Apache или MySQL. Лучше всего использовать несколько виртуальных машин для размещения разных элементов стека.
Например, рассмотрим систему управления ВМ libvirt в Linux/Ubuntu, распространённую в облачных технологиях. В ней создается инфраструктура, в которой можно без труда подготовить ферму виртуальных серверов с нужными настройками. Настройка состоит из трех стадий:
- установка виртуального сетевого моста для обмена данными между виртуальными машинами и доступа реверс-прокси к сторонним данным;
- конфигурация libvirt;
- создание шаблонов виртуальных машин.
При настройке сетевого моста вначале устанавливаются службы управления им, определяется базовый сетевой интерфейс и задаются нужные параметры. Для IP-адресов и макси подсети применяются физические адреса. Предполагается, что используется локальный веб-сервер, а для связи с Интернетом используется шлюз. Затем проводится тестирование моста, настройка libvirt и создание виртуальной машины под заданный шаблон.
Настройка веб-сервера
Составленный шаблон виртуальной машины затем применяется для всех серверов в LAMP. В первую очередь, конфигурируется Apache/PHP. Для создания ещё одной виртуальной машины из уже существующей используется команда virt-clone: sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img \—connect=qemu:///system
где:
- o: исходная виртуальная машина;
- n: имя вновь создаваемой виртуальной машины;
- f: путь к файлу, локальному тому или разделу, на котором будет размещена новая виртуальная машина;
- connect: определяет, к какому супервизору подключаться.
Такой способ позволяет создать новую виртуальную машину, идентичную исходной. Далее её нужно активировать, для этого подойдет virt-viewer. Затем нужно разместить на ней связку Apache/PHP и остальные серверы. Тестирование работоспособности проверяется командой virsh: virsh -c qemu:///system start web_devel.
Следующую команду нужно выполнить на удаленной виртуальной машине. Не забудьте изменить IP-адрес, который она получила от родительской машины. Далее требуется сконфигурировать MySQL, и повторно активировать сервер. После этого указываются данные пользователей. Затем параметры iptables устанавливаются таким образом, чтобы через него проходили только данные MySQL. Для активации этих настроек нужно прописать их в /etc/rc.local (без sudo).
После этого нужно выполнить конфигурацию memcached. Чтобы это сделать, нужно создать дубликат уже имеющегося шаблона. Затем активируется виртуальный сервер, после присоединения к нему нужно внести параметр iptables, чтобы оставить открытым только один порт – memcached. Затем те же параметры нужно прописать в /etc/rc.local.
Установка и настройка параметров Apache/PHP выполняется на одной и той же машине. Объясняется это тем, что структура PHP представляет собой Apache-модуль. Установка Apache/PHP состоит из следующих операций:
- создания дубликата имеющейся виртуальной машины;
- изменения настроек сети и установки требуемых инструментов;
- публикации базы на веб-сервере/var/www/html, после чего нужно повторно активировать Apache;
- внесении параметра iptables, который обеспечит проход трафика через порт 80.
По окончании этих действий нужно сконфигурировать веб-сервер nginx как двусторонний прокси. С помощью Nginx можно зарезервировать место для расширения сервера, он позволит стабилизировать нагрузку. Кроме того, он обеспечит безопасность от внешних атак.
Для обеспечения безопасности данных по окончании настройки серверов обязательно нужно создать их резервные копии. В этом случае при утрате каким-либо сервером работоспособности или потере данных из такой копии можно восстановить утраченную информацию. Важно помнить, что код веб-сервера Apache и MySQL требует иных методов, поскольку они оперируют с изменяемыми данными.
Для их бесперебойной работы нужно эти данные продублировать на другом виртуальном диске. Его можно подключить, когда работоспособность будет восстановлена.
Факультет основ работы с маркетплейсами и e-commerce
Сведения в этом курсе позволят вам организовать интернет-магазин.
Эти сведения могут быть нужны:
- предпринимателям. Организуйте онлайн-торговлю и выработайте эффективную стратегию продаж;
- желающим сменить род занятий. Освойте профессию, которая востребована на рынке труда;
- новичкам в маркетинге. Вы сможете повысить свой профессиональный уровень и получить более высокооплачиваемую работу.
Профессионалы в электронной коммерции очень востребованы. Интернет открывает новые возможности для торговли, поэтому работодатели готовы платить таким специалистам высокие зарплаты.
Факультет основ работы с маркетплейсами и e-commerce
На нашем курсе вы приобретете целый ряд полезных навыков:
- научитесь делать онлайн-магазины;
- сможете находить новых потребителей;
- поймете принципы работы интернет-рекламы;
- обучитесь веб-мастерингу;
- сможете формировать продуктивную стратегию продаж.
Серверных программ на рынке представлено великое множество, поэтому непосвящённому человеку очень тяжело сделать правильный выбор. Одни из них ориентированы на веб-сайты определенных видов. Другие из них имеют многоцелевое назначение и могут использоваться для решения задач самых различных пользователей.
При создании динамического сайта следует подойти к этому делу максимально внимательно, чтобы доступ к веб-серверу работал, как нужно. Однако, если нет времени заниматься программированием, программистами уже создано множество готовых решений, которые позволят реализовать даже самый сложный проект.
Продвижение блога — Генератор
продаж
Рейтинг:
4
( голосов
2 )
Поделиться статьей
что такое веб-сервер ответ
Что такое веб-сервер?
Веб-сервер — это компьютерная система, отвечающая за размещение веб-сайтов и предоставление доступа к веб-страницам через Интернет. Это компьютерная система, которая хранит, обрабатывает и доставляет веб-страницы пользователям, которые их запрашивают. Веб-серверы обычно подключены к Интернету и могут быть доступны любому, у кого есть подключение к Интернету. Они используются для размещения веб-сайтов, приложений и других служб, доступных для пользователей в Интернете.
Как работает веб-сервер?
Когда пользователь запрашивает веб-страницу, веб-сервер получает запрос и обрабатывает его. Затем он извлекает запрошенную веб-страницу из своего хранилища и отправляет ее обратно пользователю. Веб-сервер также выполняет другие задачи, такие как аутентификация, авторизация и безопасность. Он отвечает за безопасную и эффективную доставку запрошенной веб-страницы.
Какие существуют типы веб-серверов?
Доступно несколько различных типов веб-серверов, каждый из которых имеет собственный набор функций и возможностей. Наиболее распространенными типами веб-серверов являются Apache, Microsoft IIS и Nginx. Apache — это веб-сервер с открытым исходным кодом, который широко используется для размещения веб-сайтов. Microsoft IIS — это веб-сервер, разработанный Microsoft, который используется для размещения веб-сайтов на серверах Windows. Nginx — это высокопроизводительный веб-сервер, который используется для размещения веб-сайтов на серверах Linux.
Каковы преимущества использования веб-сервера?
Использование веб-сервера имеет много преимуществ. Это позволяет безопасно и эффективно размещать веб-сайты. Он также предоставляет пользователям доступ к веб-страницам через Интернет. Кроме того, веб-серверы способны обрабатывать несколько запросов одновременно, что делает их идеальными для размещения крупных веб-сайтов. Веб-серверы также предоставляют пользователям доступ к приложениям и другим службам, доступным в Интернете.
Каковы соображения безопасности для веб-серверов?
При использовании веб-сервера важно учитывать безопасность. Веб-серверы должны быть настроены на использование безопасных протоколов, таких как HTTPS и TLS. Кроме того, веб-серверы должны регулярно обновляться с использованием последних исправлений безопасности. Также важно использовать надежные пароли и предоставлять доступ к веб-серверу только авторизованным пользователям.
Каковы передовые методы управления веб-сервером?
При управлении веб-сервером важно следовать рекомендациям. Важно регулярно контролировать сервер на предмет любых потенциальных угроз безопасности. Кроме того, важно поддерживать сервер в актуальном состоянии с помощью последних исправлений безопасности и обновлений программного обеспечения. Также важно регулярно создавать резервные копии сервера, чтобы гарантировать безопасность любых данных, хранящихся на нем. Наконец, важно использовать надежные пароли и предоставлять доступ к веб-серверу только авторизованным пользователям.
Пожалуйста, внимательно прочитайте этот отказ от ответственности перед тем, как начать пользоваться сервисом. Используя эту услугу, вы подтверждаете, что вы полностью согласны и принимаете содержание этого заявления об отказе от ответственности. Вы можете отказаться от использования сервиса, если не согласны с данным отказом от ответственности. Этот документ создается автоматически на основе общедоступного контента в Интернете, захваченного Платформой машинного обучения для ИИ. Авторские права на информацию в этом документе, такую как веб-страницы, изображения и данные, принадлежат их соответствующим авторам и издателям. Такой автоматически сгенерированный контент не отражает точку зрения или мнение Alibaba Cloud. Вы несете ответственность за определение законности, точности, подлинности, практичности и полноты содержания. Мы рекомендуем вам проконсультироваться со специалистом, если у вас есть какие-либо сомнения по этому поводу. Alibaba Cloud не несет ответственности за любые последствия использования вами контента без проверки. Если у вас есть отзывы или вы обнаружите, что в этом документе используется некоторый контент, в отношении которого у вас есть права и интересы, свяжитесь с нами по этой ссылке: https://www.alibabacloud. com/campaign/contact-us-feedback. Мы будем решать вопрос в соответствии с соответствующими правилами.
Что такое веб-сервер? — Изучите веб-разработку
В этой статье мы объясним, что такое веб-серверы, как они работают и почему они важны.
Предпосылки: | Вы уже должны знать как работает интернет и понять разницу между веб-страницей, веб-сайтом, веб-сайтом сервер и поисковая система. |
---|---|
Цель: | Вы узнаете, что такое веб-сервер, и получите общее представление о как это работает. |
Термин веб-сервер может относиться к оборудованию или программному обеспечению, или к тому и другому, работающему вместе.
- Что касается оборудования, то веб-сервер — это компьютер, на котором хранится программное обеспечение веб-сервера и файлы компонентов веб-сайта (например, HTML-документы, изображения, таблицы стилей CSS и файлы JavaScript). Веб-сервер подключается к Интернету и поддерживает физический обмен данными с другими устройствами, подключенными к сети.
- Что касается программного обеспечения, веб-сервер включает в себя несколько частей, которые контролируют доступ веб-пользователей к размещенным файлам. Как минимум это HTTP-сервер . HTTP-сервер — это программное обеспечение, которое понимает URL-адреса (веб-адреса) и HTTP (протокол, который ваш браузер использует для просмотра веб-страниц). Доступ к HTTP-серверу можно получить через доменные имена веб-сайтов, которые он хранит, и он доставляет содержимое этих размещенных веб-сайтов на устройство конечного пользователя.
На самом базовом уровне, когда браузеру требуется файл, размещенный на веб-сервере, браузер запрашивает файл через HTTP. Когда запрос достигает нужного (аппаратного) веб-сервера, (программный) HTTP-сервер принимает запрос, находит запрошенный документ и отправляет его обратно в браузер, также через HTTP. (Если сервер не находит запрошенный документ, вместо этого он возвращает ответ 404.)
Для публикации веб-сайта необходим статический или динамический веб-сервер.
Статический веб-сервер или стек состоит из компьютера (аппаратного обеспечения) с HTTP-сервером (программного обеспечения). Мы называем это «статическим», потому что сервер отправляет размещенные файлы в ваш браузер как есть.
Динамический веб-сервер состоит из статического веб-сервера и дополнительного программного обеспечения, чаще всего сервера приложений и базы данных . Мы называем это «динамическим», потому что сервер приложений обновляет размещенные файлы перед отправкой содержимого в ваш браузер через HTTP-сервер.
Например, для создания окончательных веб-страниц, которые вы видите в браузере, сервер приложений может заполнить шаблон HTML содержимым из базы данных. Такие сайты, как MDN или Википедия, имеют тысячи веб-страниц. Как правило, такие сайты состоят всего из нескольких HTML-шаблонов и гигантской базы данных, а не из тысяч статических HTML-документов. Эта настройка упрощает обслуживание и доставку контента.
Для просмотра: чтобы получить веб-страницу, ваш браузер отправляет запрос на веб-сервер, который ищет запрошенный файл в своем собственном хранилище. Найдя файл, сервер читает его, обрабатывает по мере необходимости и отправляет браузеру. Давайте рассмотрим эти шаги более подробно.
Файлы хостинга
Во-первых, веб-сервер должен хранить файлы веб-сайта, а именно все HTML-документы и связанные с ними активы, включая изображения, таблицы стилей CSS, файлы JavaScript, шрифты и видео.
Технически вы можете разместить все эти файлы на своем компьютере, но гораздо удобнее хранить все файлы на выделенном веб-сервере, потому что:
- Выделенный веб-сервер обычно более доступен (включен и работает).
- За исключением времени простоя и проблем с системой, выделенный веб-сервер всегда подключен к Интернету.
- Выделенный веб-сервер может все время иметь один и тот же IP-адрес. Это известно как выделенный IP-адрес . (Не все интернет-провайдеры предоставляют фиксированный IP-адрес для домашних линий.)
- Выделенный веб-сервер обычно обслуживается третьей стороной.
По всем этим причинам поиск хорошего хостинг-провайдера является ключевой частью создания вашего веб-сайта. Изучите различные услуги, предлагаемые компаниями. Выберите тот, который соответствует вашим потребностям и бюджету. (Услуги варьируются от бесплатных до тысяч долларов в месяц.) Вы можете найти более подробную информацию в этой статье.
Если у вас есть услуга веб-хостинга, вы должны загрузить свои файлы на свой веб-сервер.
Связь через HTTP
Во-вторых, веб-сервер обеспечивает поддержку HTTP ( H yper t ext T ransfer P rotocol). Как следует из названия, HTTP указывает, как передавать гипертекст (связанные веб-документы) между двумя компьютерами.
Протокол — это набор правил для связи между двумя компьютерами. HTTP — это текстовый протокол без сохранения состояния.
- Текстовый
Все команды представляют собой обычный текст и удобочитаемы.
- Лицо без гражданства
Ни сервер, ни клиент не помнят предыдущие сеансы связи. Например, полагаясь только на HTTP, сервер не может запомнить введенный вами пароль или ваш прогресс в незавершенной транзакции. Для таких задач вам нужен сервер приложений. (Мы рассмотрим такие технологии в других статьях.)
HTTP предоставляет четкие правила взаимодействия клиента и сервера. Мы рассмотрим сам HTTP в технической статье позже. А пока просто помните об этих вещах:
- Обычно HTTP-запросы делают только клиентов и только серверов . Серверы отвечают на HTTP-запрос клиента . Сервер также может заполнять данные в клиентском кеше до того, как они будут запрошены, с помощью механизма, называемого проталкиванием сервера.
- При запросе файла через HTTP клиенты должны предоставить URL-адрес файла.
- Веб-сервер должен отвечать на каждый HTTP-запрос, по крайней мере, сообщением об ошибке.
На веб-сервере HTTP-сервер отвечает за обработку входящих запросов и ответы на них.
- При получении запроса HTTP-сервер проверяет, соответствует ли запрошенный URL-адрес существующему файлу.
- Если это так, веб-сервер отправляет содержимое файла обратно в браузер. Если нет, сервер проверит, должен ли он динамически генерировать файл для запроса (см. Статическое и динамическое содержимое).
- Если ни один из этих вариантов невозможен, веб-сервер возвращает браузеру сообщение об ошибке, чаще всего
404 Не найдено
.
Ошибка 404 настолько распространена, что некоторые веб-дизайнеры тратят много времени и усилий на разработку страниц с ошибкой 404.
Статическое и динамическое содержимое
Грубо говоря, сервер может обслуживать как статическое, так и динамическое содержимое. Помните, что термин static означает «обслуживаемый как есть». Статические веб-сайты настроить проще всего, поэтому мы предлагаем вам сделать ваш первый сайт статическим.
Термин динамический означает, что сервер обрабатывает содержимое или даже генерирует его на лету из базы данных. Этот подход обеспечивает большую гибкость, но технический стек является более сложным, что значительно усложняет создание веб-сайта.
Существует так много технологий серверов приложений, что трудно предложить какую-то конкретную. Некоторые серверы приложений обслуживают определенные категории веб-сайтов, такие как блоги, вики или электронная коммерция; другие являются более общими. Если вы создаете динамический веб-сайт, найдите время, чтобы выбрать технологию, соответствующую вашим потребностям. Если вы не хотите изучать программирование веб-сервера (что само по себе является захватывающей областью!), вам не нужно создавать свой собственный сервер приложений. Это просто изобретение велосипеда.