Learn

284 статейКатегория: Все
Сеть

Что такое сервер и клиент

Когда вы открываете сайт, ваш ПК или смартфон не просто показывает экран.

На самом деле браузер или приложение отправляет запрос серверу в интернете, а сервер возвращает нужные данные.

Сторона, которая отправляет запрос, называется клиентом. Сторона, которая принимает запрос и возвращает ответ, называется сервером.

Большая часть Web-коммуникации построена на этих отношениях клиента и сервера.

Если сказать коротко, основа Web-коммуникации выглядит так:

Клиент запрашивает. Сервер отвечает.

В этой статье разбираются отношения между «стороной, которая запрашивает» и «стороной, которая отвечает» — основа Web-коммуникации.

Что значит открыть сайт

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

Но эта страница не была изначально внутри вашего устройства.

Браузер связывается с сервером сайта и получает данные, нужные для отображения страницы.

Например, вы открываете страницу статьи.

В этот момент браузер отправляет серверу запрос:

«Дайте данные этой страницы».

Сервер принимает запрос и возвращает данные, необходимые для отображения страницы.

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

То есть просмотр сайта состоит из такого потока:

  1. Браузер отправляет запрос серверу
  2. Сервер принимает запрос
  3. Сервер возвращает нужные данные
  4. Браузер показывает полученные данные на экране

Для пользователя это выглядит как простое открытие страницы.

Но внутри между клиентом и сервером происходит «запрос» и «ответ».

Что такое клиент

Клиент — это сторона, которая отправляет запрос в коммуникации.

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

Например, Chrome, Safari, Firefox, Edge и другие браузеры отправляют запросы серверу, чтобы показать сайт.

Браузер запрашивает у сервера:

«Дайте данные для отображения этой страницы».

Затем он использует данные, которые вернул сервер, и показывает страницу на экране.

То есть браузер — не просто приложение для отображения.

Это клиент, который отправляет запрос серверу сайта и показывает полученные данные.

Приложения тоже бывают клиентами

Клиентом бывает не только браузер.

Мобильные и ПК-приложения тоже становятся клиентами, если отправляют запросы серверу.

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

Эта информация не обязательно заранее хранится в смартфоне.

Приложение отправляет запрос серверу и получает от сервера свежие данные.

Например, приложение соцсети может отправлять такие запросы:

  • дайте данные ленты
  • проверьте новые уведомления
  • дайте профиль этого пользователя
  • дайте данные этого изображения или видео

Сервер возвращает необходимые данные в ответ.

А приложение показывает полученные данные на экране.

Облачные заметки, чаты, онлайн-игры, приложения для обмена файлами работают так же.

Они запрашивают у сервера нужные данные и работают с тем, что вернулось.

Иными словами, клиент — это не слово только про браузер.

Клиентом является сторона, которая отправляет запрос в коммуникации.

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

Сервер — это сторона, которая принимает запрос и возвращает нужные данные.

В случае сайта сервер хранит данные, необходимые для отображения сайта.

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

Сервер может возвращать, например:

  • HTML
  • CSS
  • JavaScript
  • изображения
  • видео
  • текст статьи
  • сведения о товарах
  • сведения о пользователе

HTML — данные, которые описывают текст и структуру страницы.

CSS — данные, которые задают внешний вид: размер текста, цвета, расположение.

JavaScript — данные, которые используются для действий при нажатии кнопок и обработки на странице.

Изображения и видео — медиафайлы, которые показываются внутри страницы.

Браузер читает эти данные, возвращенные сервером, и отображает их как Web-страницу.

Даже одна страница может выполнять несколько запросов

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

Для отображения страницы может потребоваться несколько видов данных.

Например, при открытии страницы статьи браузер сначала получает данные самой страницы.

Затем он может дополнительно получить CSS для оформления, JavaScript для поведения страницы, изображения внутри статьи и другое.

То есть пользователь видит открытие одной страницы, но внутри может выполняться несколько запросов.

Например:

  • дайте данные самой страницы
  • дайте данные для дизайна
  • дайте файл изображения
  • дайте данные для работы страницы
  • дайте свежие комментарии или уведомления

Сервер отвечает на каждый запрос и возвращает нужные данные.

Браузер объединяет полученные данные и показывает их как одну Web-страницу.

Так проще понять Web-страницу как то, что браузер собирает и показывает из данных, возвращенных сервером.

Где находятся данные сайта

Данные сайта в основном находятся на стороне сервера.

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

Затем браузер отображает полученные данные на экране.

То есть просмотр сайта — это ситуация, когда клиент идет за данными на сервер и показывает их на своем устройстве.

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

Это используется, например, чтобы быстрее показать страницу при повторном открытии.

Но базовая структура от этого не меняется.

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

Сервер не обязательно одна физическая машина

На этой странице для удобства сервер описывался как единая сущность.

Но в реальных Web-сервисах сервер не обязательно является одной физической машиной.

Небольшой сайт может работать на одном сервере.

Но крупные Web-сервисы одновременно обслуживают множество пользователей.

Поэтому обработка может распределяться между несколькими серверами.

Например, возможны такие роли:

  • сервер, который возвращает Web-страницы
  • сервер, который раздает изображения и видео
  • сервер, который управляет сведениями пользователей
  • сервер, который работает с базой данных
  • механизм, который распределяет доступ между несколькими серверами

Сейчас Web-сервисы часто работают и в облаке.

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

Кроме того, для доставки изображений, видео, CSS, JavaScript и других данных может использоваться CDN.

CDN — механизм, который размещает данные в нескольких местах и раздает их из места, близкого к пользователю.

Это ускоряет показ страниц и уменьшает нагрузку на исходный сервер.

Но с самого начала не нужно запоминать все тонкие детали структуры.

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

А в реальных Web-сервисах эту роль могут поддерживать не одна машина, а несколько серверов, облако, CDN и другие элементы.

Клиент и сервер определяются ролью

Клиент и сервер определяются не только видом устройства.

Важно, какую роль устройство выполняет в коммуникации.

Клиент — сторона, которая отправляет запрос.

Сервер — сторона, которая принимает запрос и возвращает ответ.

Например, ваш ПК обычно работает как клиент, когда открывает сайты.

Но если на этом ПК опубликовать Web-сервис и принимать подключения от других устройств, этот ПК может работать как сервер.

Иными словами, клиент и сервер понятнее воспринимать не как «названия устройств», а как «роли в коммуникации».

Важный взгляд для анонимности

При размышлении об анонимности отношения клиента и сервера важны.

Потому что в Web-коммуникации ваш браузер или приложение обычно отправляет запрос серверу назначения.

Сервер принимает запрос от клиента.

Поэтому стороне сайта может быть видна определенная информация.

Например, стороне сайта может быть видна такая информация:

  • IP-адрес, видимый как источник подключения
  • время доступа
  • запрошенная страница
  • сведения о браузере или устройстве
  • сведения о

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

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

Если связь идет через VPN или Tor, стороне сайта может быть виден не ваш исходный IP-адрес, а IP-адрес промежуточного узла.

Если используются Cookie, сайт может различать обращения из того же браузера.

Однако что и в какой степени видно, зависит от маршрута связи, настроек браузера, механизма сайта, наличия HTTPS и использования Cookie.

На этом этапе важно понять не тонкие технологии отслеживания.

Сначала важна структура: в Web-коммуникации клиент отправляет запрос серверу, а сервер принимает этот запрос.

Именно из-за этой структуры возникает вопрос: «что видно серверу назначения».

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

Итоги

Клиент — сторона, которая отправляет запрос в коммуникации.

Web-браузер, мобильное приложение и ПК-приложение становятся клиентами, когда отправляют запрос серверу.

Сервер — сторона, которая принимает запрос и возвращает нужные данные.

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

Когда вы открываете Web-страницу, браузер запрашивает у сервера: «дайте данные этой страницы».

Сервер возвращает HTML, CSS, JavaScript, изображения и другие данные.

Браузер читает полученные данные и показывает их на экране.

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

Могут использоваться несколько серверов, облако, CDN и другие элементы.

Но основа не меняется.

Клиент запрашивает, сервер отвечает.

Это базовая структура Web-коммуникации.

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

Связанные инструменты

Public IP Check

WhatIsMyIP

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

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://www.whatismyip.com/

Открыть внешний сайт
WebRTC Leak Test

BrowserLeaks WebRTC

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

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://browserleaks.com/webrtc

Открыть внешний сайт
Anonymous communication

Tor Project

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

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://www.torproject.org/

Открыть внешний сайт
VPN service

Proton VPN

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

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://protonvpn.com/

Открыть внешний сайт
VPN service

Mullvad VPN

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

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://mullvad.net/

Открыть внешний сайт

Связанные статьи