Модель «клиент-сервер» — что это?
Модель «клиент-сервер» представляет собой распределенную коммуникационную структуру сетевых процессов среди поставщиков услуг и клиентов. Соединение устанавливается через сеть или Интернет.
Данный функционал представляет собой концепцию базовой сетевой вычислительной системы, которая создает функциональность для обмена электронной почтой и доступа к Интернету или базе данных. Веб-технологии и протоколы, построенные вокруг модели «клиент-сервер»:
[tchecklist]
- протокол передачи гипертекста (HTTP);
- система доменных имен (DNS);
- простой протокол передачи почты (SMTP);
[/tchecklist][tchecklist] [/tchecklist]
Клиенты включают в себя веб-браузеры, чат-приложения и программное обеспечение электронной почты. Серверы включают Web, базу данных, приложение и чат.
Роль клиента и сервера
Характеристика «клиент-сервер» описывает взаимосвязь взаимодействующих программ в приложении. Серверный компонент предоставляет функцию или услугу одному или нескольким клиентам, которые инициируют запросы.
Серверы классифицируются по предоставляемым услугам. Например, веб-сервер обслуживает веб-страницы, а файловый сервер обслуживает файлы компьютеров. Общим ресурсом может быть любое программное обеспечение и электронные компоненты серверного компьютера — от программ и данных до процессоров и устройств хранения. Обмен ресурсами сервера представляет собой сервис.
Независимо от того, является ли компьютер клиентом, сервером или и тем, и другим, определяется характер приложения, требующего служебных функций. Клиентское программное обеспечение также может взаимодействовать с программным обеспечением сервера на одном компьютере.
Уровни управления
Сервер управляет большинством процессов и сохраняет все данные. Клиент запрашивает указанные данные или процессы. Сервер передает результат процесса клиенту. Клиенты иногда обрабатывают данные, но для завершения требуются ресурсы сервера.
Модель «клиент-сервер» отличается от одноранговой P2P-модели, где системы связи являются клиентом или сервером, каждый из которых имеет одинаковый статус и обязанности. Модель P2P является децентрализованной сетью. Модель «клиент-сервер» — это централизованная сеть.
Один недостаток данной модели состоит в том, что слишком много клиентских запросов прерывается сервером, что приводит к неправильному функционированию или полному отключению. Хакеры часто используют такую тактику для прекращения конкретных организационных услуг с помощью распределенных атак типа «отказ в обслуживании» (DDoS).
Клиент-сервер Delphi
Delphi Client/Server Suite 2.0 — единственный инструмент RAD, который интегрирует собственный SQL-монитор для тестирования, отладки и настройки SQL-запросов в приложениях Client/Server. Это повышает производительность приложений.
SQL Monitor позволяет разработчику отслеживать вызовы между клиентом и сервером. Эта информация позволяет находить проблемные операторы SQL, а затем оптимизировать транзакции.
Ряд параметров трассировки позволяет разработчику настраивать количество и тип информации, о которой сообщается. SQL Monitor помогает разработчику понять, что в приложении выполняется оптимально и что требует доработки.
Дополнительные возможности сохранения и печати журнала сеанса позволяют провести более тщательное тестирование.
SQL Explorer — инструмент для Delphi
SQL Explorer предоставляет информационный центр для требований к управлению базой данных.
Поддерживает создание и изменение таблиц, псевдонимов, хранимых процедур, триггеров и бизнес-правил посредством интерактивного SQL.
Этот графический инструмент модели «клиент-сервер» Delphi представляет собой интегрированную схему базы данных и утилиту управления контентом, адаптированную к потребностям профессиональных разработчиков баз данных.
SQL Explorer, уникальный для Delphi, упрощает администрирование баз данных. Простой в использовании графический интерфейс является идеальным способом представления сложных отношений, существующих на сервере базы данных.
SQL Explorer представляет информацию о схеме из Oracle, Sybase, InterBase, Informix, DB2 и других. Разработчик может перетаскивать поля, таблицы и хранимые процедуры в форму приложения Delphi для быстрого создания приложений базы данных «клиент-сервер».
Разработчик также может выдавать инструкции SQL, направленные на несколько серверов и несколько баз данных.
Модель «клиент-сервер» — что это? на News4Auto.ru
Наша жизнь состоит из будничных мелочей, которые так или иначе влияют на наше самочувствие, настроение и продуктивность. Не выспался — болит голова; выпил кофе, чтобы поправить ситуацию и взбодриться — стал раздражительным. Предусмотреть всё очень хочется, но никак не получается.
Да ещё и вокруг все, как заведённые, дают советы: глютен в хлебе — не подходи, убьёт; шоколадка в кармане — прямой путь к выпадению зубов.
Мы собираем самые популярные вопросов о здоровье, питании, заболеваниях и даем на них ответы, которые позволят чуть лучше понимать, что полезно для здоровья.
Источник: https://News4Auto.ru/model-klient-server-chto-eto/
Клиенты и серверы
В современных сетях при взаимодействии между конечными устройствами, как правило используются две модели:
- Клиент-серверное взаимодействие (client-server)
- Одноранговое взаимодействие (peer-to-peer)
Клиент-серверное взаимодействие
Любое конечное устройство может выступать в роли клиента или сервера. Сервер предоставляет некоторые сервисы или ресурсы клиенту. Клиент, соответственно обращается к серверу, получает некоторые ресурсы и пользуется ими.
Важно понимать, что отличие между клиентом и сервером в том, какое программное обеспечение установлено на них и как оно настроено. Например, если взять домашний компьютер и поставить на него приложение веб-сервер Apache, то можно сказать, что компьютер выступает в роли сервера.
Если взять большой сервер IBM, поставить на него MS Windows и пользоваться веб-браузером, то можно сказать, что это оборудование используется как клиентская машина.
Таким образом, разница между клиентом и сервером находится на уровне приложений модели OSI, с точки зрения нижестоящих уровней этой модели, разницы между ними нет.
На одном хосте может быть запущено несколько серверов. В небольших организациях часто практикуется один физический сервер, на котором работают одновременно, например, веб-сервер, почтовый сервер, файловый сервер и другие. К каждому из этих серверов могут подключаться свои клиенты.
Одноранговое взаимодействие
В этой модели устройства в сети равны: каждый выступает как в роли клиента, так и в роли сервера. Простейший пример — сеть MS Windows без домена. Несколько компьютеров обмениваются данными через открытые для общего доступа папки. Каждый получает и отдаёт файлы, выступая то как клиент, то как сервер.
Преимуществом одноранговой модели являются:
- Простота настройки.
- Меньшая стоимость внедрения (не требуется дорогостоящее оборудование для сервера).
- Может с успехом использоваться для простых задач вроде обмена файлами или сетевой печати.
Недостатки одноранговой модели в сравнении с клиент-серверной:
- Отсутствие возможности централизованного администрирования и управления сетью, так как все настройки применяются на каждом хосте отдельно.
- В связи с предыдущим пунктом, проблемы с безопасностью.
- Возможные проблемы с производительностью из-за того, что постороннее клиентское ПО может занимать ресурсы системы.
- В связи с предыдущими тремя пунктами, проблемы с масштабируемостью сети.
В организациях одноранговую сеть имеет смысл использовать только при небольшом (до десяти) количестве компьютеров и отсутствии специальных требований к централизованному администрированию и обеспечению безопасности.
Источник: http://ciscotips.ru/client-server
Собеседование по Java EE — WEB (вопросы и ответы)
Общие вопросы и ответы по web в разделе Java Enterprise Edition.
к списку вопросов раздела JEE
Вопросы
1. Что такое www? 2. Что такое w3c? 3. Что такое TCP/IP? 4. Что такое ftp? 5. Чем отличаются http и https? 6. Что такое протокол передачи данных, какие вы знаете? 7. Что такое web server? 8. Что такое web приложение? 9. Что такое application server? 10. Чем отличаются web server и application server? 11.
Какие методы передачи данных вы знаете? 12. Чем отличаются методы get и post? 13. Что такое html? 14. Что такое xml? 15. Что такое css? 16. Что такое MIME type? 17. Что такое cookies? 18. Что такое сессия? 19. Дайте определение понятиям “авторизация” и “аутентификация”, в чем их различия? 20.
Что такое Ajax? Как принципиально устроена эта технология?
21. Что такое ORM, как это перевести и как это должно работать?
Ответы
1. Что такое www?
Всемирная паутина (англ. World Wide Web) — распределённая система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключённых к Интернету. Для обозначения Всемирной паутины также используют слово веб (англ. web «паутина») и аббревиатуру WWW.
Всемирную паутину образуют сотни миллионов веб-серверов. Большинство ресурсов Всемирной паутины основаны на технологии гипертекста. Гипертекстовые документы, размещаемые во Всемирной паутине, называются веб-страницами.
Несколько веб-страниц, объединённых общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом.
Для загрузки и просмотра веб-страниц используются специальные программы — браузеры (англ. browser).
2. Что такое w3c?
Консорциум Всемирной паутины (англ. World Wide Web Consortium, W3C) — организация, разрабатывающая и внедряющая технологические стандарты для Всемирной паутины. Консорциум возглавляет сэр Тимоти Джон Бернерс-Ли, автор множества разработок в области информационных технологий.
3. Что такое TCP/IP?
Стек протоколов TCP/IP — набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства — Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте.
Стек протоколов TCP/IP включает в себя четыре уровня:
- прикладной уровень (application layer),
- транспортный уровень (transport layer),
- сетевой уровень (Internet layer),
- канальный уровень (link layer).
4. Что такое ftp?
FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). Использует 21-й порт. FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.
Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером.
Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно.
Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.
5. Чем отличаются http и https?
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов в формате HTML, в настоящий момент используется для передачи произвольных данных).
Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTPS, «упаковываются» в криптографический протокол SSL или TLS. В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443.
HTTPS — не самостоятельный протокол передачи данных, а HTTP с надстройкой шифрования. В этом ключевое и единственное отличие.
- HTTP — непосредственно протокол передачи данных, HTTPS — расширение этого протокола.
- HTTPS используется для защищенного посредством шифрования обмена данными.
- HTTPS применяется в том числе и для авторизации на серверах, требующих повышенного внимания к безопасности данных.
- HTTP работает с портом 80, HTTPS — с портом 443.
6. Что такое протокол передачи данных, какие вы знаете?
Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами.
Примеры сетевых протоколов
TCP/IP — набор протоколов передачи данных, получивший название от двух принадлежащих ему протоколов: TCP (Transmission Control Protocol) и IP (Internet Protocol)
Наиболее известные протоколы, используемые в сети Интернет:
HTTP (Hyper Text Transfer Protocol) — это протокол передачи гипертекста. Протокол HTTP используется при пересылке Web-страниц между компьютерами, подключенными к одной сети. FTP (File Transfer Protocol) — это протокол передачи файлов со специального файлового сервера на компьютер пользователя.
FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.
POP (Post Office Protocol) — это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ. SMTP (Simple Mail Transfer Protocol) — протокол, который задает набор правил для передачи почты.
Сервер SMTP возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию.
TELNET — это протокол удаленного доступа. TELNET дает возможность абоненту работать на любой ЭВМ находящейся с ним в одной сети, как на своей собственной, то есть запускать программы, менять режим работы и так далее. На практике возможности ограничиваются тем уровнем доступа, который задан администратором удаленной машины.
7. Что такое web server?
Веб-сервер — сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер (см.: Сервер (аппаратное обеспечение)), на котором это программное обеспечение работает.
8. Что такое web приложение?
Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети.
9. Что такое application server?
Сервер приложений (англ. application server) — это программная платформа (фреймворк), предназначенная для эффективного исполнения процедур (программ, скриптов), на которых построены приложения. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), определённый самой платформой.
Для веб-приложений основная задача компонентов сервера — обеспечивать создание динамических страниц. Однако современные серверы приложений включают в себя и поддержку кластеризации, повышенную отказоустойчивость, балансировку нагрузки, позволяя таким образом разработчикам сфокусироваться только на реализации бизнес-логики.
10. Чем отличаются web server и application server?
Сервер приложений (англ. application server) — сервер, исполняющий некоторые прикладные программы.
Сервер-приложений — объект, который обрабатывает запросы, связанные с приложениями, точнее для выполнения прикладных процессов (выборка данных, поиск данных, работа с терминалами).
По идее эта технология изначально вообще не была связана с Web’om, однако, сейчас чаще говорят сервер web приложений. Практически используется для работы с базами данных.
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы. Web-сервер — объект, который обрабатывает запросы, в частности http-запросы. Браузер в данном случае клиент, который делает запросы (POST, GET).
11. Какие методы передачи данных вы знаете?
Основными являются методы POST и GET.
12. Чем отличаются методы get и post?
Метод GET.
Метод GET удобен тем, что прост в эксплуатации. Но у него есть недостатки. Во-первых, методом GET нельзя передавать большие объемы информации, потому что данные, передаваемые этим методом входят в состав URL, длина которого ограничена.
Так как данные, передаваемые методом GET входят в состав URL документа, их может подсмотреть любой желающий. У этого есть преимущества и недостатки. Преимущество состоит в том, что можно послать ссылку вместе с данными другу. Недостаток в том, что в строке браузера отображается и ваш, только что введенный пароль.
Это одна из причин, почему данные, представляющие ценность, всегда нужно передавать методом POST.
Метод POST.
Как и метод GET, метод POST служит для передачи данных на сервер. Однако, данные, переданные таким образом, идут не в URL документа, а в теле запроса, после заголовков. Эти данные могут быть восприняты CGI-программой.
Когда данные отправляются методом POST, серверу приходит что-то вроде:
Referer: http://example.com/example.htmlContent-Type: application/x-www-form-urlencodedAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)line=%E4%E0%ED%ED%FB%E5+%F4%EE%F0%EC%FB%2C%EF%E5%F0%E5%E4%E0%E2%E0%E5%EC%FB%E5+%EC%E5%F2%EE%E4%EE%EC+POST |
Плюсы метода POST очевидны: можно передавать неограниченные объемы информации, причем, никто не увидит эту информацию после того, как вы ее отправили (имеется ввиду, в строке браузера).
Но есть и недостатки:
- Медленнее, чем GET, так как анализируются заголовки и тело запроса.
- Страницы, сгенерированные как результат запроса POST, нельзя добавить в закладки (СЕО-недружелюбен)
- Кроме того, если необходимо «протащить» данные через несколько форм или страниц, то это вызовет дополнительные трудности.
13. Что такое html?
HTML — это язык разметки. Вы используете HTML для разметки текстового документа, точно так же, как это делает редактор при помощи жирного красного карандаша. Эти пометки служат для определения формата (или стиля), который будет использован при выводе текста на экран монитора.
14. Что такое xml?
XML, или Язык Расширяемой Маркировки — eXtensible Markup Language, — спроектирован для того, чтобы предоставить Web-разработчикам возможность определения содержания более сложных документов, причем с более корректным “отображением данных”, нежели ранее.
XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программам и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете.
Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка.
15. Что такое css?
CSS (Cascading Style Sheets — каскадные таблицы стилей) — одна из базовых технологий в современном Интернете. Нечасто можно встретить сайт, свёрстанный без применения CSS. CSS-код — это список инструкций для браузера, — как и где отображать элементы веб-страницы, написанный особым образом.
16. Что такое MIME type?
MIME (Multipurpose Internet Mail Extensions, многоцелевые расширения интернет-почты) — стандарт Интернет, является частью протокола HTTP. Задача MIME это идентификация типа содержимого документа по его заголовку.
К примеру, текстовый файл имеет тип text/plain, а HTML-файл — text/html. Отправка заголовка обычно происходит на основе расширения файла веб-сервером.
Internet Media Types — типы данных, которые могут быть переданы посредством сети интернет с применением стандарта MIME.
Ниже приведен список MIME-заголовков и расширений файлов.
Согласно RFC 2045, RFC 2046, RFC 4288, RFC 4289 и RFC 4855[2] выделяются следующие базовые типы передаваемых данных:application, audio, example, image, message, model, multipart, text, video.
17. Что такое cookies?
Куки (от англ. cookie — печенье) — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Веб-клиент (обычно веб-браузер) всякий раз при попытке открыть страницу соответствующего сайта пересылает этот фрагмент данных веб-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для:
аутентификации пользователя; хранения персональных предпочтений и настроек пользователя; отслеживания состояния сеанса[en] доступа пользователя;
ведения статистики о пользователях.
18. Что такое сессия?
Сессия (от англ. session) — промежуток времени между первым и последним запросами, которые пользователь отправляет со своего устройства (компьютера, телефона) к серверу сайта.
Во время одной сессии посетитель совершает какие-либо активные действия: переходит по ссылкам, заполняет формы, скачивает данные — вся подобная информация записывается и хранится в так называемом лог-файле сайта.
Завершается сессия в случае, если со стороны пользователя не поступало запросов в течение определенного промежутка времени или же при обрыве связи.
19. Дайте определение понятиям “авторизация” и “аутентификация”, в чем их различия?
Авторизация (англ. authorization — разрешение, уполномочивание) — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий. Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.
Аутентификация — процедура проверки подлинности, например:
- проверка подлинности пользователя путём сравнения введённого им пароля с паролем, сохранённым в базе данных пользователей;
- подтверждение подлинности электронного письма путём проверки цифровой подписи письма по открытому ключу отправителя;
- проверка контрольной суммы файла на соответствие сумме, заявленной автором этого файла.
Авторизацию не следует путать с аутентификацией: аутентификация — это процедура проверки легальности пользователя или данных, например, проверки соответствия введённого пользователем пароля к учётной записи паролю в базе данных, или проверка цифровой подписи письма по ключу шифрования, или проверка контрольной суммы файла на соответствие заявленной автором этого файла. Авторизация же производит контроль доступа легальных пользователей к ресурсам системы после успешного прохождения ими аутентификации. Зачастую процедуры аутентификации и авторизации совмещаются.
20. Что такое Ajax? Как принципиально устроена эта технология?
AJAX — это аббревиатура, которая означает Asynchronous Javascript and XML. При использовании AJAX нет необходимости обновлять каждый раз всю страницу, так как обновляется только ее конкретная часть. Достоинства AJAX:
- Возможность создания удобного Web-интерфейса
- Активное взаимодействие с пользователем
- Частичная перезагрузка страницы, вместо полной
- Удобство использования
AJAX использует два метода работы с веб-страницей: изменение Web-страницы не перезагружая её, и динамическое обращение к серверу. Второе может осуществляться несколькими способами, в частности, XMLHttpRequest, о чем мы и будем говорить, и использование техники скрытого фрейма.
Для того, чтобы осуществлять обмен данными, на странице должен быть создан объект XMLHttpRequest, который является своеобразным посредником между браузером пользователя и сервером.
С помощью XMLHttpRequest можно отправить запрос на сервер, а также получить ответ в виде различного рода данных.
21. Что такое ORM, как это перевести и как это должно работать?
ORM (англ. Object-Relational Mapping, рус. объектно-реляционное отображение) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». Существуют как проприетарные, так и свободные реализации этой технологии.
к списку вопросов раздела JEE
5436 Total Views 4 Views TodayВыделите и нажмите CTRL+ENTER 🙂
Источник: http://javastudy.ru/interview/jee-web-questions/
Чем отличается сервер от компьютера?*
Итак, сегодня мы начнем говорить о серверах, что такое сервер и с чем его едят?
Как сказал кто-то — «сервер, это производительный компьютер» (с). В общем смысле, такой подход к определению сервера, тоже имеет право на жизнь, но тут есть ряд оговорок, которые мы и начнем рассматривать в этой статье.
*Первоначально данная статья была опубликована в интернет-журнале форума КосмосТВ, а, так как форум являлся не тематическим ресурсом, а общеразвлекательным, статья написана в стиле “для чайников”, а посему, автор просит не обращать внимания на слог изложения)))
Итак, сегодня мы начнем говорить о серверах, что такое сервер и с чем его едят?
Как сказал кто-то — «сервер, это производительный компьютер» (с). В общем смысле, такой подход к определению сервера, тоже имеет право на жизнь, но тут есть ряд оговорок, которые мы и начнем рассматривать в этой статье.
Сервер, кроме того что является производительным компьютером, еще предполагает применение специализированного программного обеспечения, которое позволяет использовать все преимущества архитектуры построения серверов, основными отличиями которой от персональных компьютеров являются:
- Многопроцессорность — возможность распределения вычислительной мощности на несколько процессоров, ведь использование так называемых многопоточных приложений для работы на разных ядрах одного процессора и на разных процессорах, это не одно и то же.
- Специализированная оперативная память — в серверах используются виды памяти отличные от памяти, использующейся в компьютерах, например такие как: с коррекцией ошибок, с полной буферизацией и коррекцией ошибок, регистровая с коррекцией ошибок. Они отличаются более высокой надежностью и производительностью, а также предназначены для работы со специализированным программным обеспечением.
- Значительный объем дискового пространства и специализированные жесткие диски — в одном сервере могут быть установлены десятки жестких дисков, из них, в свою очередь могут организовываться различные RAID-массивы (о которых мы поговорим в последующих выпусках нашего Журнала), для обеспечения более высокой скорости работы и большей сохранности информации.
- Специализированные корпуса и блоки питания — как правило, сервера собираются в корпусах большого размера, так как серверные материнские платы имеют очень большой формат. Кроме того, сервера имеющие значительную вычислительную мощность и большое дисковое пространство, собираются в так называемых Rack-корпусах, которые предназначены для установки в специальные шкафы-стойки. В серверных корпусах, как правило, устанавливается несколько мощных блоков питания, для обеспечения отказоустойчивости системы и питания мощных потребителей — материнских плат с процессорами, большого количества вентиляторов, контроллеров и т.д.
Теперь коротко рассмотрим вопросы применения серверов и их основные преимущества:
Допустим, мы имеем локальную сеть, на предприятии, в офисе, подъезде многоэтажки (так называемая домашняя сеть), да мало ли где еще, количество компьютеров может быть разным, но специалисты рекомендуют использовать серверы, когда количество компьютеров в локальной сети превышает пять единиц.
Рассмотрим проблемы решаемые сервером:
- Централизация и организация ваших данных — данные хранятся в едином банке, к ним всегда имеют доступ все пользователи вашей сети, вне зависимости от того включены ли все компьютеры в сети, в отличие от локальной сети, в которой все данные хранятся на компьютерах пользователей. В такой сети, чтобы иметь доступ ко всем данным, нужно чтобы все компьютеры работали, что не всегда возможно (сломался компьютер, сотрудник заболел или уехал в командировку, а может просто опаздывает на работу, а вам срочно нужен доступ к данным), сервер же, как правило, работает постоянно.
- Создание общего доступа к аппаратным средствам, таким как факсы, принтеры, сканеры и т.д. — для простых сетей с двумя и более компьютерами, при отсутствии сервера, вам может потребоваться большое количество проводов.
- Упрощение и автоматизация резервного копирования данных — в локальной сети, приходится делать образ всех жестких дисков со всех компьютеров, при наличии сервера, резервное копирование занимает несколько минут и производится с одного рабочего места.
- Обеспечение сотрудников находящихся вне офиса постоянным доступом к ресурсам вашей локальной сети — ваши сотрудники постоянно могут быть на связи, входя в локальную сеть через ваш сервер, используя удаленные терминалы, портативные компьютеры, и т.д.
- Хранение большого количества информации и обеспечение постоянного доступа к ней — вы можете хранить большие объемы информации и увеличивать количество дискового пространства, просто расширяя дисковые хранилища сервера.
- Увеличение эффективности работы с базами данных — сервер принимает на себя выполнение сложных расчетов и обработку больших объемов информации, разгружая сеть, особенно заметен выигрыш в производительности локальной сети при работе с финансовыми и учетными программами (например, 1С), особенно при значительном количестве компьютеров, на которых они запускаются.
- Масштабирование локальной сети — при увеличении количества компьютеров в сети, например при приеме на работу новых сотрудников, или при подключении к домашней сети новых пользователей, предельно упрощается работа системного администратора.
- Временное решение, альтернатива модернизации компьютеров — сервер разгрузит локальную сеть и модернизацию оборудования можно будет отложить. Кроме того, переход со старого компьютера на новый, в локальной сети с сервером, станет проще и быстрее, т.к. основная масса информации используемой пользователями находится на сервере.
- Расширенные возможности по администрированию сети, обеспечению сохранности информации, удаленному управлению, распределению доступа пользователей к информации и аппаратным средствам сети, контролю расхода трафика, использованию контента и другие, — системный администратор сети, со своего рабочего места, сможет полностью контролировать всю сеть.
Вот далеко неполный список возможностей возникающих с установкой сервера в локальной сети.
Более подробно, различные аспекты построения серверного оборудования, а также конкретные примеры серверов, мы рассмотрим в следующих статьях.
Источник: http://microinform.by/o-kompanii/blog/116-chem-otlichaetsya-server-ot-kompyutera
Взаимодействие типа клиент/сервер
⇐ ПредыдущаяСтр 5 из 12Следующая ⇒
Как и в других сетевых приложениях, в программах просмотра Web применяется модель взаимодействия типа клиент/сервер. После получения URL документа браузер становится клиентом, который обращается с запросом на получение документа к серверу, работающему на компьютере, указанном в URL. Затем браузер отображает документ для пользователя.
В отличие от сетевых приложений, в которых предусмотрено постоянное соединение между клиентом и сервером, при взаимодействии между Web — браузером и сервером соединение создается лишь на короткое время.
Браузер устанавливает соединение, отправляет запрос и получает либо затребованный элемент данных, либо сообщение, что такого элемента не существует.
Сразу после передачи документа или изображения соединение закрывается; клиент не остается подключенным к серверу.
Быстрое прекращение соединений вполне себя оправдывает в большинстве случаев, поскольку просмотр Web не характеризуется высокой степенью локализации связей.
Пользователь может обратиться к Web-странице на одном компьютере, а затем немедленно проследовать по ссылке к Web-странице на другом компьютере.
Однако слишком быстрое прекращение соединения может привести к ненужным издержкам в тех случаях, если браузер должен неоднократно обращаться к одному и тому же серверу для получения большого числа документов.
Передача документов Web и протокол HTTP
При взаимодействии браузера с Web-сервером эти две программы выполняют протокол HTTP (HyperText Transfer Protocol — протокол передачи гипертекста).
Назначение протокола HTTP состоит в том, что он позволяет браузеру запросить конкретный элемент данных, который затем отправляет ему сервер.
Однако на практике с применением протокола HTTP связано много сложностей, поскольку сервер вместе с каждой передачей отправляет дополнительную информацию состояния, а браузер, согласно этому протоколу, может не только запрашивать, но и передавать информацию.
Запросы HTTP передаются в виде текста в кодировке ASCII. Протокол HTTP поддерживает четыре основных операции, которые могут быть указаны браузером при выполнении запроса:
• Операция GET позволяет запросить конкретный элемент данных с сервера. Сервер возвращает заголовок, за которым следует информация состояния, пустая строка и затребованный элемент данных.
• Операция HEAD позволяет запросить информацию о состоянии некоторого элемента. Сервер возвращает информацию состояния, не передавая копию самого элемента.
• Операция POST служит для передачи данных на сервер. Сервер добавляет переданные данные к указанному элементу (например, добавляет сообщение к списку сообщений).
• Операция PUT также позволяет передать данные на сервер. Однако сервер использует эти данные для замены указанного элемента.
При вводе пользователем URL или выборе ссылки браузер формирует запрос HTTP. В том или ином случае браузер передает запрос GET, в котором указан определенный элемент данных, и сервер возвращает запрашиваемый элемент. Запрос GET имеет следующую форму:.
GET item version CRLF
Здесь item обозначает URL затребованного элемента, version указывает версию HTTP (обычно 1.0 или 1.1), a CRLF обозначает символы CR (сокращение от carriage return — возврат каретки) и LF (сокращение от linefeed — перевод строки) кодировки ASCII.
Каждый ответ от сервера начинается с заголовка в кодировке ASCII. Первая строка заголовка содержит код состояния, который сообщает браузеру, успешно ли обработан сервером запрос. Если запрос был сформирован неправильно или затребованный в нем элемент недоступен, то код состояния позволяет выявить эту проблему.
Например, сервер возвращает широко известный код состояния 404, если затребованный элемент не удалось найти. Успешно выполнив запрос, сервер возвращает код состояния 200; дополнительные строки заголовка предоставляют более полную информацию об элементе данных, такую как его длина, время последнего изменения и тип информационного наполнения.
Пример заголовка HTTP приведен ниже.
НТТР/1.0 200 ОК
Date: Mon, 30 Oct 2000 01:22:22 GMT
Server: Apache/1.2.5
Last-Modified: Sat, 28 Oct 2000 01:03:37 GMT
ETag: “130fe-81-3883bbe9”
Content-Length: .129
Accept-Ranges: bytes
Connection: close,
Content-Type: text/plain
Код состояния 200 в первой строке указывает, что сервер успешно выполнил запрос; остальные строки содержат дополнительную информацию о затребованном элементе данных.
Архитектура программного обеспечения браузера
Программы Web-браузеров имеют более сложную структуру по сравнению с Web-серверами. Сервер постоянно выполняет одну и ту же несложную задачу: ожидает, пока какой-либо браузер не откроет соединение и не затребует страницу.
Затем сервер передает копию затребованного элемента данных, закрывает соединение и ожидает следующего запроса на установление соединения. Основную часть операции по обеспечению доступа к документу и его отображению выполняет браузер.
В связи с этим браузер содержит несколько крупных программных компонентов, которые тесно взаимодействуют друг с другом, создавая впечатление бесперебойно функционирующей службы.
В частности, браузер включает целый ряд клиентов, широкий перечень интерпретаторов, а также контроллер, который управляет этими программными компонентами. Контроллер образует центральную часть браузера.
Он интерпретирует и щелчки мышью, и ввод с клавиатуры, а также вызывает другие компоненты для выполнения операций, указанных пользователем. Например, при вводе пользователем URL или щелчке на гипертекстовой ссылке контроллер вызывает клиентскую программу для выборки затребованного документа с удаленного сервера, на котором он находится, а затем вызывает интерпретатор для отображения документа на экране пользователя.
Браузер должен содержать интерпретатор HTML для отображения документов. Другие интерпретаторы являются необязательными. На вход интерпретатора HTML поступает документ, который соответствует синтаксическим правилам HTML; на выход интерпретатора поступает отформатированная версия документа, предназначенная для отображения на экране пользователя.
Интерпретатор выполняет компоновку, преобразуя спецификацию HTML в команды, подходящие для аппаратного обеспечения дисплея, за которым работает пользователь. Например, встретив в документе тег заголовка раздела, интерпретатор изменяет размер текста, который служит для изображения заголовка раздела.
Встретив тег разрыва строки, интерпретатор открывает новую строку вывода.
Одна из наиболее важных функций интерпретатора HTML относится к выбираемым элементам.
Интерпретатор должен хранить информацию о том, как связаны между собой позиции на экране и элементы документа HTML, относящиеся к каждому анкеру.
При выборе пользователем любого элемента с помощью мыши браузер сравнивает информацию о текущей позиции курсора и хранимую информацию о положении анкеров, определяя, был ли пользователем выбран анкер.
Кроме клиента HTTP и интерпретатора HTML, браузер может включать компоненты, позволяющие выполнять дополнительные задачи. Например, многие браузеры включают клиент FTP, который применяется для доступа к службе передачи файлов. Некоторые браузеры содержат также программное обеспечение клиента электронной почты, позволяющее передавать и принимать сообщения по электронной почте.
Кэширование в Web-браузерах
Взаимодействие между клиентом и сервером при просмотре Web отличается от взаимодействия во многих клиент-серверных приложениях. На это есть две причины.
Во-первых, поскольку пользователи обычно просматривают Web-страницы, находящиеся за пределами их организации, то Web-браузеры обращаются к страницам на удаленных компьютерах чаще, чем к локальным страницам.
Во-вторых, поскольку пользователи не выполняют повторный поиск одной и той же информации, они, как правило, не повторяют доступ к одним и тем же ресурсам.
Таким образом, просмотр Web имеет другой характер локализации связей по сравнению с другими приложениями, поэтому для оптимизации производительности браузеров используются не такие методы, как в других приложениях. В частности, ни браузеры, ни Web-серверы не оптимизированы с учетом физической локализации связей. Кроме того, в браузерах применяются совершенно иные методы оптимизации с учетом временной локализации связей.
Как и в других приложениях, в браузерах для ускорения доступа к документа применяется кэш. Браузер помещает копию каждого полученного элемента данных в кэш на локальный диск.
При выборе пользователем элемента, прежде чем обратиться за свежей копией этого элемента, браузер проверяет кэш на диске. Если кэш содержит нужный элемент, браузер получает его копию из кэша и обращается к серверу-источнику (т.е.
к серверу, на котором находится просматриваемая страница), если элемент данных, принадлежащий к странице, не может быть найден в кэше.
Хранение элементов данных в кэше позволяет резко повысить производительность, поскольку браузер может считывать их с диска, не ожидая передачи этих элементов по сети. Кэширование является особенно важным при просмотре больших страниц или при использовании низкоскоростных сетевых соединений.
Несмотря на значительное повышение скорости, хранение элементов данных в кэше в течение продолжительного времени не всегда оправдано. Во-первых, кэш может занимать огромные объемы дискового пространства.
Во-вторых, повышение производительности происходит, только если пользователь снова возвращается к просмотру того же элемента данных. К сожалению, пользователи часто просматривают ресурсы Web только в поисках конкретной информации; найдя необходимую информацию, пользователи прекращают просмотр.
В подобных ситуациях кэширование снижает производительность, поскольку браузер расходует дополнительное время для записи на диск ненужной информации.
Для того чтобы пользователи могли управлять использованием браузером кэша, в большинстве браузеров предусмотрены средства, которые дают возможность пользователю изменять правила работы с кэшем.
Пользователь может установить лимит времени для кэширования, и браузер будет удалять элементы данных из кэша по истечении установленного времени. Браузеры обычно сопровождают кэш на протяжении конкретного сеанса.
Пользователь, который не желает оставлять элементы в кэше от одного сеанса к другому, может установить лимит времени хранения элементов данных в кэше равным нулю. В подобных случаях браузер очищает весь кэш после завершения сеанса работы пользователя.
Источник: https://lektsia.com/3x4e3f.html
Чем отличается выделенный сервер от хостинга для игровых серверов?
Разные поставщики понимают под “игровым хостингом” совершенно отличающиеся услуги. Судя по контексту, “хостингом для игровых серверов” Ваш поставщик называет готовый игровой сервер с продажей слотов. Будем исходить из этого.
Домашний сервер (aka “под столом”):
+ Практически полное отсутствие денежных инвестиций (только инет и ремонт компа) + Много уже имеющейся RAM + Полное управление над сервером и его окружением (в т.ч. аппаратно) — Самостоятельное администрирование — Нужно самому делать бекапы — Неустойчивость перед сетевыми атаками (а Minecraft от них особенно уязвим из-за UDP) — Риск плохой связности с частью игроков (но иногда на провайдера везёт) — Нужен прямой IP — Спонтанное выключение сервера при отключении электричества (если нет бесперебойника), корраптящие или откатывающие файлы игрового мира Подходит для игры закрытой компанией знакомых (до 5-15 человек). Не подходит для размещения>15 человек (условно) и популяризации в сети, т.к. риск не справиться с сетевой атакой и больше вероятности оффлайнов или потери данных (ответственность перед игроками).
Игровой хостинг:
+ Отсутствие геморроя с администрированием окружения и аппаратным ремонтом + Отсутствие геморроя с настройкой сервера самой игры + Бекапы делают за вас + Игровой сервер сопровождают за вас (обновление minecraft.jar, плагинов к серверу и т.д.), и делают это хорошо, т.к. специализируются на этом + Хоть какая-либо защита от DDoS, т.к. от атаки одного, страдают все клиенты, в чём хостер не заинтересован — Ежемесячная аренда услуги — Отсутствие полноценного доступа к серверу — Риск попасть на непрофессиональных недоучек (т.к. это ниша, наполненная “школьными” предпринимателями) и вытекающие из этого риски — Риск появления лагов от перегрузки у соседей (напр.: на них обрушился DDoS) — Зависимость от ассортимента и версий minecraft.jar и плагинов, которые выберет хостер — Дорогостоящее расширение кол-ва слотов Подходит для начинающего публичного сервера до 20 человек. Становится невыгодным для размещения большого количества человек по мере роста сервера.
Выделенный сервер (VPS/VDS):
+ Значительно дешевле, чем аренда слотов у игрового хостинга + Полное управление над сервером + Независимость от хостера во всём: версии Minecraft, плагины, операционка, окружение — Ежемесячная аренда услуги — Стоимость во многом зависит от кол-ва RAM — Риск появления лагов от перегрузки у соседей (напр.: на них обрушился DDoS) — Защита от DDoS есть далеко не у всех провайдеров VPS/VDS — Нужно самому делать бекапы Подходит для средних и крупных серверов Minecraft.
Невыгоден для размещения 1-5 человек.
Если вы это делаете для себя и друзей просто поиграть — то проще свой комп под столом или в кладовке, Если же цель зарабатывать то vds или даже выделенный сервер предпочтительней.
Ну и главное бекапы бекапы бекапы =) ничто так не угнаетает игроков, как откаты на пару дней назад.
Зависит, действительно, от ваших желаний и вашего настроя. Если для себя и друзей — можно ограничиться компом дома. Если на небольшую аудиторию — можно рассматривать вариант VPS/VDS (виртуальный выделенный сервер), на виртуализации KVM. Т.к. в отличие от OVZ ресурсы сервера выделяются более изолированно. Вы не зависите так от “соседей” как на OVZ.
У некоторых провайдеров есть возможность подключать/отключать канал с защитой от DDoS когда это необходимо. Если планируете профессионально подойти к данному вопросу — выделенный физический север.
Конфигурации на базе Intel Xeon. Желательно не менее 4-8 ядер CPU, 8-16 Гб RAM, диски по желанию.
Во многом все зависит от требований игры к серверу и сложности проекта вцелом.
Источник: https://toster.ru/q/320841
Настройка сервера: кто клиент и кто сервер в сети? Учимся определять
Введение. В современном мире, практически ни один офис не может обойтись без компьютерной сети. Компьютерные сети развиваются довольно стремительными темпами, — этому способствует стремительное, в последние годы, развитие экономики. Сейчас компьютерную сеть можно встретить практически у каждого второго компьютера.
Все это связано с тем, что человек ощутивший преимущества компьютерной сети, — уже не может от них отказаться. Будь то локальная сеть, — когда обеспечивается интенсивный обмен информацией внутри сети или подключение к сети Интернет или к городской сети.
Практически в каждой сети с числом компьютеров пять и более все чаще выделяется отдельный сервер для тех или иных целей.
Настройка сервера или клиента зависит от того, в каком виде сети и какой топологии они участвуют. Поэтому нужно понимать какие компьютерные сети выделяют в современном мире.
Настройка сервера в зависимости от вида компьютерной сети. Компьютерные сети — это сеть связи двух и более компьютеров, а также другой оргтехники для обмена информацией.
Понимая суть самого определения компьютерные сети, можно выделить следующие типы сетей: — в зависимости от охвата территории, сеть можно подразделить на: локальную, персональную, городскую, глобальную, национальную. При настройке сервера, необходимо представлять: в каком сегменте сети он будет находиться, и каким “вышестоящим” серверам он будет подчиняться.
Но все же большое значение в настройке сервера имеет функциональное взаимодействие компьютеров в сети. Типы взаимодействий можно разделить следующим образом: — Одноранговые компьютерные сети. К данному типу сетей относятся сети, в которых между всеми компьютерами обеспечиваются одинаковые права. Поэтому их еще называют децентрализованными. Приведу пример.
Как известно, сеть — это взаимодействие компьютеров по принципу клиент — сервер. При этом: клиент посылает команды на обработку серверу, а сервер в свою очередь их обрабатывает. Итак, к примеру, у вас десять компьютеров и они объединены в одноранговую сеть, тогда любой компьютер, участвующий в сети, одновременно является и клиентом и сервером.
При малых размерах сети — это довольно удобно. Но при росте, возникает ситуация когда в сети множество серверов, причем каждый из них может стать недоступным из-за отключения одного из участников от сети. Поэтому данные типы сетей чаще всего используют для обычного обмена файлами.
В сети данного типа, можно использовать и выделенный сервер обмена данными, что позволит решить проблему отключения некоторых участников сети. Так как в одноранговой сети множество серверов, придется настраивать каждый по отдельности. — Многоранговые сети имеют свои преимущества и недостатки. Чаще всего, количество уровней два.
Выделяется один ведущий компьютер (контролер), который будет управлять ведомыми компьютерами (контролерами). В качестве ведущего контролера чаще всего используются различные сервера.
Такая процедура, как настройка сервера, — должна выполняться на высоком уровне, так как от его работоспособности зависит работа всей сети и если в одноранговой сети, любой сервер мог отключится от сети и работоспособность сети ограничивалась, то многоранговая сеть будет полностью функциональной при стабильной работе ведущего контролера.
– Сеть с выделенным сервером. Это тип сети, в которой все компьютеры управляются одним или несколькими серверами. То есть, все компьютеры-клиенты участвующие в сети передают запрос к сети непосредственно через серверы. Данный процесс централизации сети несет в себе значительное количество плюсов — это легкость настройки, легкость контроля за работой в сети и т.д. Но при этом адекватная настройка сервера — основная задача для любого администратора сети. Так как от работы центрального сервера будет зависеть работоспособность всей сети.
– Сеть типа точка-точка. Особенностью данной сети является простота организации. Суть ее заключается в том, что два компьютера соединяются в сеть каким-либо образом. Чаще всего — это патч-корд. При этом каждый компьютер, как и в одноранговой сети является и клиентом и сервером. Поэтому настройка сервера производится на каждом из компьютеров.
Топология сети, как основа для понимания настройки сервера и клиента. Под топологией сети понимают схему расположения и соединения компьютеров и различных устройств в сети. Бывают различные виды топологий сети, среди которых можно выделить: — тип Шина.
Данный тип топологии получила название “Шина” вследствие того, что основу сети представляет один сетевой кабель или “Шина” к которой подключаются все компьютеры. При этом каждый клиент сети отправляет запрос, и этот запрос обрабатываясь каждым компьютером, до момента нахождения адресата.
При этом задачей сервера или главного компьютера является проконтролировать процесс передачи запросов, чтоб он давал “слово” каждому клиенту по очереди, в чем и заключается настройка сервера. — тип “Звезда”. Пожалуй, самый распространенный тип сетевой топологии при необходимости захвата небольших территорий.
Суть ее заключается в том, что каждый компьютер обращается к сетевому концентратору или хабу, а он, определив, кому предназначен запрос, отправляет его адресату. Поэтому настройка сервера и клиента происходит через процесс настройки приоритетов сетевого концентратора.
– тип “Кольцо”. Наиболее простая в технической части, но сложная в настройке тип сети. Суть ее заключается в последовательном соединении всех компьютеров по очереди, образуя замкнутое кольцо.
Основная проблема заключается в снижении работоспособности всей сети при выходе из него одного из рабочих станций.
При этом каждый из компьютеров может выступать как в роли клиента, так и сервера, поэтому настройка сервера и клиента такая же, как в одноранговых сетях.
Заключение.
В данной статье постарался вкратце описать возможные варианты сетей и их топологий. Понимание данных топологий и видов сетей позволит определить кто в ней клиент, а кто сервер и без проблем произвести настройку клиента и настройку сервера.
Статью подготовил FireAiD специально для Mega Obzor.
Источник: https://megaobzor.com/newsnew-8658.html