Веб-приложение: различия между версиями

Материал из Изи Вики
(Продолжение)
(Убрал лишние картинки)
 
(не показано 14 промежуточных версий этого же участника)
Строка 1: Строка 1:
Веб-приложение — это приложение (прикладная компьютерная программа), с которой пользователь взаимодействует через веб-браузер.  
Веб-приложение — это приложение (прикладная [[компьютерная программа]]), с которой пользователь взаимодействует через веб-браузер.  


== Что в них хорошего ==
== Объясните простыми словами, пожалуйста ==
Не требуют предварительной установки.
[[File: The Kitchen at Delmonico's, 1902.JPG|thumb|200px|Повара-сервера ждут запросов от клиентов]]
Представьте, что веб-приложение — это необычный ресторан, где на кухне вместо людей трудятся специальные роботы-повара — серверные программы. Эти программы создал или нанял (то есть взял часть готовыми) владелец ресторана — веб-разработчик.


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


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


Ваши данные могут сохраняться на удаленном сервере. Вы можете на ходу сменить устройство на другое и продолжить работу.
<code><nowiki>http://веб-ресторан.com/заказ/бизнес-ланч/?борщ=1&пюрешка=1&котлетка=2</nowiki></code>


Тяжелые вычисления могут быстро выполняться на удаленном сервере.
Хотя можно ничего и не печатать, а просто кликнуть по ссылке в Меню блюд — результат будет примерно тот же.


Есть возможность онлайн взаимодействия с другими пользователями
Что происходит дальше: HTTP-официант записывает ваш запрос на листочке и бежит на кухню по сети [[интернет]]. Если официант хороший, то он кладет листочек с запросом в зашифрованный карман, чтобы никто другой не узнал, что вы заказали. Таких надежных официантов еще зовут HTTP'''S''' (s = секьюрный).


== Что в них плохого ==
Итак, официант прибегает на кухню и передает записку одному из поваров — Вебсерверу Энжинксовичу Апачеву. Тот примерно знает, что повара умеют готовить, а что нет. Если в заказе от клиента написана дичь, а дичь на кухне отсутствует в принципе, то Веб-сервер сразу ответит ошибкой <code>404 Дичь Not Found</code>, а грустный официант побежит обратно передавать ответ клиенту.
Не работают без интернета.


Функциональность строго ограничена возможностями браузера и веб-технологиями.
Если заказ клиента корректный, то главный повар Шеф Движокович Приложеньев принимает запрос, и все повара-сервера принимаются за работу. Они достают продукты-данные из холодильника-данных, начинают их нарезать и готовить. В процессе они могут перекидывать данные между собой, так как у каждого повара есть своя специализация. HTTP-официант не уходит из кухни, пока не получит ответ — готовое блюдо. Хорошо, что обычно готовка занимает доли секунды, и клиенту не нужно долго ждать. Приготовленную еду доставляет клиенту радостный официант в HTML-тарелках, приговаривая <code>200 OK Приятного аппетита!</code>


Могут быть не доступны из-за сбоя на стороне серверов.
Но что это? Похоже в ресторан зашел странный клиент в капюшоне и заказывает странное блюдо:


Владельцы веб-приложений могут отслеживать вашу активность и делиться данными с рекламодателями.
<code><nowiki>http://веб-ресторан.com/спец-заказ/пожарьте-мне/?газовый-балон=1</nowiki></code>


Злоумышленники могут взломать сервера веб-приложения и похитить ваши личные данные.
Заказ прошел проверку у Вебсервера и был передан Шефу. Шеф-повар почесал затылок, потом осмотрел кухню, нашел газовый балон и начал его жарить! Как результат балон взорвался, уничтожил холодильник с продуктами и поджег несколько поваров. HTTP-официант в панике выбежал, крича всем клиентам <code>503 Кухня Unavailable</code>. На место пожара срочно выехали пожарные системные администраторы. Они потушили горящих поваров и дали втык владельцу ресторана за нарушение правил пожарной валидации. Оказывается, у программ-поваров не было инструкции, что газовые балоны жарить нельзя. А вот продукты из холодильника оказались безвозвратно потеряны, так как владелец ресторана экономил на бэкапах.


== Как использовать веб-приложения безопасно ==
Ресторан пришлось закрыть на несколько дней, а посетители остались злые и голодные.
Всегда используйте последнюю версию браузера. Не отключайте автообновление вашего браузера.


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


Проверьте что в адресной строке есть значок замочка. Это гарантирует, что ваши данные не могут быть похищены злоумышленниками при передаче по сети.
== А если серьезно ==


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


Не открывайте скаченные файлы без проверки антивирусом. Если у вас нет антивируса, воспользуйтесь бесплатным сервисом проверки отдельных файлов: https://www.virustotal.com/
* Не требуют предварительной установки.
* Одинаково работают на устройствах любого типа и в любых операционных системах.
* Безопасны для использования, так как не имеют прямого доступа к файлам на вашем устройстве.
* Могут сохранять данные на удаленном сервере. Вы можете сменить устройство «на ходу» и продолжить работу.
* Сложные вычисления могут быстро выполняться на удаленном сервере


== Чем отличается веб-сайт от веб-приложения ==
=== Что в них плохого ===
Веб-сайт решает только задачу информирования пользователя. Как только на сайте появляется дополнительный функционал — он становится веб-приложением.
Есть и весомые недостатки:
 
* Не работают без интернета.
* Функциональность строго ограничена возможностями браузера и веб-технологиями.
* Могут быть не доступны в нужный момент из-за сбоя на стороне серверов.
* Владельцы веб-приложений могут отслеживать вашу активность и делиться данными с рекламодателями.
* Злоумышленники могут взломать сервера веб-приложения и похитить ваши данные.
 
=== Как использовать веб-приложения безопасно ===
Следование этим правилам, поможет избежать неприятностей:
 
* Всегда используйте последнюю версию браузера. Не отключайте автообновление вашего браузера.
* При регистрации используйте надежные и уникальные пароли.
* Проверьте что в адресной строке есть значок замочка. Это гарантирует, что ваши данные не могут быть похищены злоумышленниками при передаче по сети.
* Остерегайтесь сайтов подделок, внешне копирующих всем известные. Перепроверяйте название сайта в адресной строке перед вводом секретных или персональных данных.
* Не открывайте скаченные файлы без проверки антивирусом. Если у вас нет антивируса, воспользуйтесь бесплатным сервисом проверки отдельных файлов: https://www.virustotal.com/
 
=== Чем отличается веб-сайт от веб-приложения ===
Веб-сайт решает только задачу информирования пользователя. Как только появляется дополнительный функционал — сайт становится веб-приложением.


Примеры функционала веб-приложения:
Примеры функционала веб-приложения:


* Сбор и хранение данных пользователя на стороне сервера.
* Сбор и хранение данных пользователя на стороне сервера.
* Авторизация пользователей (для предоставления доступа к пользовательским данным).
* Авторизация пользователей (для безопасного доступа к пользовательским данным).
* Взаимодействие с базами данных (например, каталог товаров).
* Взаимодействие с базами данных (например, каталог товаров).
* Проведение платежей для онлайн покупок.
* Проведение платежей для онлайн покупок.
* Отправка электронных писем и других уведомлений.
* Отправка электронных писем и других уведомлений.


== Как работает веб-приложение ==
=== Как работает веб-приложение ===
Веб-приложение работает в режиме обмена данными между устройством пользователя и удаленным сервером с помощью сети интернет. Для работы веб-приложения требуется несколько вспомогательных программ. Обычно это:
При работе веб-приложения задействовано '''несколько устройств''' и <code>различных вспомогательных программ</code>.
 
# Пользователь — это вы.
# Вы работаете в программе <code>веб-браузер</code>, установленной на вашем устройстве — настольном компьютере или смартфоне.
# '''Ваше устройство''' должно быть подключено к интернету.
# Сеть интернет — обеспечивает обмен данными между вашим устройством и удаленным.
# '''Удаленные устройства''' — это сервера в дата-центре
# На удаленных устройствах установлены программы <code>веб-сервер</code> и другие <code>серверные программы</code>.
 
Сама работа веб-приложения заключается в обмене данными:
 
# Вы выполняете какие-то действия в вашем <code>веб-браузере</code>, например переход по ссылке или заполнение формы.
# Ваш браузер собирает данные, формирует HTTP-запрос, и отправляет веб-серверу.
# Программа <code>веб-сервер</code>, принимает запрос и передает предварительно обработанные данные другим <code>серверным программам</code>
# Серверные программы обработали данные запроса и сформировали данные ответа.
# Программа Веб-сервер возвращает HTTP-ответ вашему браузеру.
# Веб-браузер на вашем устройстве отображает результат, обычно в виде веб-страницы.


* Веб-браузер на устройстве клиента. Обеспечивает отображение информации в виде веб-страниц. Формирует пользовательский интерфейс в виде веб-форм.
[[Категория:Информационные технологии]]
* Веб-сервер на удаленном устройстве. Обеспечивает взаимодействие браузера с веб-приложением по HTTP протоколу обмена данными. Принимает входящие запросы, производит их первоначальный разбор и формирует корректные ответы, понятные вашему браузеру.
* Основной движок веб-приложения, обычно это уникальная программа. Ядро обеспечивающее осмысленную обработку данных и решающую прикладные задачи пользователя. В процессе работы может взаимодействовать с серверами баз данных и другими вспомогательными веб-сервисами.

Текущая версия от 22:35, 14 февраля 2023

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

Объясните простыми словами, пожалуйста[править | править код]

Повара-сервера ждут запросов от клиентов

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

В ресторан приходят гости — клиенты. Они размещаются в красивом и уютном зале для гостей, этот зал еще называют «фронтенд веб-приложения». Гостей не пускают на кухню-серверную или в «бэкенд веб-приложения», чтобы они не крали продукты из холодильника и не смущали роботов-поваров. Кстати, холодильник с продуктами — это аналог базы данных. Программы-повара извлекают оттуда данные-продукты и обрабатывают-готовят их.

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

http://веб-ресторан.com/заказ/бизнес-ланч/?борщ=1&пюрешка=1&котлетка=2

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

Что происходит дальше: HTTP-официант записывает ваш запрос на листочке и бежит на кухню по сети интернет. Если официант хороший, то он кладет листочек с запросом в зашифрованный карман, чтобы никто другой не узнал, что вы заказали. Таких надежных официантов еще зовут HTTPS (s = секьюрный).

Итак, официант прибегает на кухню и передает записку одному из поваров — Вебсерверу Энжинксовичу Апачеву. Тот примерно знает, что повара умеют готовить, а что нет. Если в заказе от клиента написана дичь, а дичь на кухне отсутствует в принципе, то Веб-сервер сразу ответит ошибкой 404 Дичь Not Found, а грустный официант побежит обратно передавать ответ клиенту.

Если заказ клиента корректный, то главный повар Шеф Движокович Приложеньев принимает запрос, и все повара-сервера принимаются за работу. Они достают продукты-данные из холодильника-данных, начинают их нарезать и готовить. В процессе они могут перекидывать данные между собой, так как у каждого повара есть своя специализация. HTTP-официант не уходит из кухни, пока не получит ответ — готовое блюдо. Хорошо, что обычно готовка занимает доли секунды, и клиенту не нужно долго ждать. Приготовленную еду доставляет клиенту радостный официант в HTML-тарелках, приговаривая 200 OK Приятного аппетита!

Но что это? Похоже в ресторан зашел странный клиент в капюшоне и заказывает странное блюдо:

http://веб-ресторан.com/спец-заказ/пожарьте-мне/?газовый-балон=1

Заказ прошел проверку у Вебсервера и был передан Шефу. Шеф-повар почесал затылок, потом осмотрел кухню, нашел газовый балон и начал его жарить! Как результат балон взорвался, уничтожил холодильник с продуктами и поджег несколько поваров. HTTP-официант в панике выбежал, крича всем клиентам 503 Кухня Unavailable. На место пожара срочно выехали пожарные системные администраторы. Они потушили горящих поваров и дали втык владельцу ресторана за нарушение правил пожарной валидации. Оказывается, у программ-поваров не было инструкции, что газовые балоны жарить нельзя. А вот продукты из холодильника оказались безвозвратно потеряны, так как владелец ресторана экономил на бэкапах.

Ресторан пришлось закрыть на несколько дней, а посетители остались злые и голодные.

Важно! Не скачивайте файлы-на-вынос в сомнительных веб-забегаловках. При попытке «употребить» такие файлы можно отравиться или заразиться кишечно-компьютерным вирусом.

А если серьезно[править | править код]

Что в них хорошего[править | править код]

В сравнении с классическими приложениями для настольных компьютеров и мобильными приложениями:

  • Не требуют предварительной установки.
  • Одинаково работают на устройствах любого типа и в любых операционных системах.
  • Безопасны для использования, так как не имеют прямого доступа к файлам на вашем устройстве.
  • Могут сохранять данные на удаленном сервере. Вы можете сменить устройство «на ходу» и продолжить работу.
  • Сложные вычисления могут быстро выполняться на удаленном сервере

Что в них плохого[править | править код]

Есть и весомые недостатки:

  • Не работают без интернета.
  • Функциональность строго ограничена возможностями браузера и веб-технологиями.
  • Могут быть не доступны в нужный момент из-за сбоя на стороне серверов.
  • Владельцы веб-приложений могут отслеживать вашу активность и делиться данными с рекламодателями.
  • Злоумышленники могут взломать сервера веб-приложения и похитить ваши данные.

Как использовать веб-приложения безопасно[править | править код]

Следование этим правилам, поможет избежать неприятностей:

  • Всегда используйте последнюю версию браузера. Не отключайте автообновление вашего браузера.
  • При регистрации используйте надежные и уникальные пароли.
  • Проверьте что в адресной строке есть значок замочка. Это гарантирует, что ваши данные не могут быть похищены злоумышленниками при передаче по сети.
  • Остерегайтесь сайтов подделок, внешне копирующих всем известные. Перепроверяйте название сайта в адресной строке перед вводом секретных или персональных данных.
  • Не открывайте скаченные файлы без проверки антивирусом. Если у вас нет антивируса, воспользуйтесь бесплатным сервисом проверки отдельных файлов: https://www.virustotal.com/

Чем отличается веб-сайт от веб-приложения[править | править код]

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

Примеры функционала веб-приложения:

  • Сбор и хранение данных пользователя на стороне сервера.
  • Авторизация пользователей (для безопасного доступа к пользовательским данным).
  • Взаимодействие с базами данных (например, каталог товаров).
  • Проведение платежей для онлайн покупок.
  • Отправка электронных писем и других уведомлений.

Как работает веб-приложение[править | править код]

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

  1. Пользователь — это вы.
  2. Вы работаете в программе веб-браузер, установленной на вашем устройстве — настольном компьютере или смартфоне.
  3. Ваше устройство должно быть подключено к интернету.
  4. Сеть интернет — обеспечивает обмен данными между вашим устройством и удаленным.
  5. Удаленные устройства — это сервера в дата-центре
  6. На удаленных устройствах установлены программы веб-сервер и другие серверные программы.

Сама работа веб-приложения заключается в обмене данными:

  1. Вы выполняете какие-то действия в вашем веб-браузере, например переход по ссылке или заполнение формы.
  2. Ваш браузер собирает данные, формирует HTTP-запрос, и отправляет веб-серверу.
  3. Программа веб-сервер, принимает запрос и передает предварительно обработанные данные другим серверным программам
  4. Серверные программы обработали данные запроса и сформировали данные ответа.
  5. Программа Веб-сервер возвращает HTTP-ответ вашему браузеру.
  6. Веб-браузер на вашем устройстве отображает результат, обычно в виде веб-страницы.