Веб-приложение: различия между версиями
AE (обсуждение | вклад) мНет описания правки |
AE (обсуждение | вклад) (Объясните простыми словами, пожалуйста!) |
||
Строка 1: | Строка 1: | ||
Веб-приложение — это приложение (прикладная [[компьютерная программа]]), с которой пользователь взаимодействует через веб-браузер. | Веб-приложение — это приложение (прикладная [[компьютерная программа]]), с которой пользователь взаимодействует через веб-браузер. | ||
== Что в них хорошего == | == Объясните простыми словами, пожалуйста! == | ||
Представьте, что веб-приложение — это специфичный ресторан, где на кухне вместо людей трудятся специальные роботы повара — серверные программы. Эти программы создает или нанимает (берет готовые) владелец ресторана — веб-разработчик. | |||
В ресторан приходят гости — клиенты. Они размещаются в зале для гостей — этот зал еще называют «фротненд веб-приложения». Гостей не пускают на кухню-серверную или в «бекенд веб-приложения», чтобы они не крали продукты из холодильника и не смущали роботов-поваров. Кстати холодильник с продуктами — это аналог базы данных. Программы-повара извлекают оттуда данные-продукты и обрабатывают-готовят их. | |||
Но как же клиент закажет себе еду, если ему нельзя на кухню. На помощь приходит 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/хочу-пожрать/пожарьте-мне/?спец-заказ=газовый-балон</nowiki></code> | |||
Заказ прошел проверку у Веб Серверчева и передан Шефу. Шеф-повар почесал затылок, потом осмотрел кухню, нашел газовый балон и начал его жарить! Как результат балон взорвался, уничтожил холодильник с продуктами и поджег несколько поваров. HTTP-официант в панике убежал, крича всем клиентам <code>503 Кухня Unavailable</code>. На место пожара срочно выехали пожарные системные администраторы. Они потушили горящих поваров и дали втык владельцу ресторана за нарушение правил пожарной валидации. Оказывается, у программ-поваров не было инструкции, что газовые балоны жарить нельзя. А продукты из холодильника оказались безвозвратно потеряны, так как владелец ресторана экономил на бэкапах. | |||
Ресторан пришлось закрыть на несколько дней, посетители остались злые и голодные. | |||
== А если серьезно == | |||
=== Что в них хорошего === | |||
В сравнении с классическими приложениями для настольных компьютеров и мобильными приложениями: | В сравнении с классическими приложениями для настольных компьютеров и мобильными приложениями: | ||
Строка 10: | Строка 37: | ||
* Сложные вычисления могут быстро выполняться на удаленном сервере | * Сложные вычисления могут быстро выполняться на удаленном сервере | ||
== Что в них плохого == | === Что в них плохого === | ||
Есть и весомые недостатки: | Есть и весомые недостатки: | ||
Строка 19: | Строка 46: | ||
* Злоумышленники могут взломать сервера веб-приложения и похитить ваши данные. | * Злоумышленники могут взломать сервера веб-приложения и похитить ваши данные. | ||
== Как использовать веб-приложения безопасно == | === Как использовать веб-приложения безопасно === | ||
Следование этим правилам, поможет избежать неприятностей: | Следование этим правилам, поможет избежать неприятностей: | ||
Строка 28: | Строка 55: | ||
* Не открывайте скаченные файлы без проверки антивирусом. Если у вас нет антивируса, воспользуйтесь бесплатным сервисом проверки отдельных файлов: https://www.virustotal.com/ | * Не открывайте скаченные файлы без проверки антивирусом. Если у вас нет антивируса, воспользуйтесь бесплатным сервисом проверки отдельных файлов: https://www.virustotal.com/ | ||
== Чем отличается веб-сайт от веб-приложения == | === Чем отличается веб-сайт от веб-приложения === | ||
Веб-сайт решает только задачу информирования пользователя. Как только появляется дополнительный функционал — сайт становится веб-приложением. | Веб-сайт решает только задачу информирования пользователя. Как только появляется дополнительный функционал — сайт становится веб-приложением. | ||
Строка 39: | Строка 66: | ||
* Отправка электронных писем и других уведомлений. | * Отправка электронных писем и других уведомлений. | ||
== Как работает веб-приложение == | === Как работает веб-приложение === | ||
При работе веб-приложения задействовано '''несколько устройств''' и <code>различных вспомогательных программ</code>. | При работе веб-приложения задействовано '''несколько устройств''' и <code>различных вспомогательных программ</code>. | ||
Версия от 14:38, 30 октября 2022
Веб-приложение — это приложение (прикладная компьютерная программа), с которой пользователь взаимодействует через веб-браузер.
Объясните простыми словами, пожалуйста!
Представьте, что веб-приложение — это специфичный ресторан, где на кухне вместо людей трудятся специальные роботы повара — серверные программы. Эти программы создает или нанимает (берет готовые) владелец ресторана — веб-разработчик.
В ресторан приходят гости — клиенты. Они размещаются в зале для гостей — этот зал еще называют «фротненд веб-приложения». Гостей не пускают на кухню-серверную или в «бекенд веб-приложения», чтобы они не крали продукты из холодильника и не смущали роботов-поваров. Кстати холодильник с продуктами — это аналог базы данных. Программы-повара извлекают оттуда данные-продукты и обрабатывают-готовят их.
Но как же клиент закажет себе еду, если ему нельзя на кухню. На помощь приходит HTTP-официант. Вы подзывайте его, набирая в адресной строке браузера:
http://веб-ресторан.com/хочу-пожрать/обед/?борщ=1&пюрешка=1&котлетка=2
Хотя можно ничего и не печатать а просто кликнуть по ссылке в Меню блюд — результат будет примерно тот же.
Что происходит дальше: HTTP-официант записывает ваш запрос на листочке и бежит на кухню. Если официант хороший, то он кладет листочек с запросом в зашифрованный карман, чтобы никто другой не узнал, что вы заказали. Таких надежных официантов еще зовут HTTPS (s = секьюрный).
Итак официант прибегает на кухню и передает записку одному из поваров - Веб Серверчеву Апачеву (на время отпуска его часто подменяет Веб Серверчев Энжинксов). Тот примерно знает, что повара умеют готовить, а что нет. Если в заказе от клиента есть дичь, а дичь на кухне отсутствует в принципе. Веб-сервер сразу ответит ошибкой 404 Дичь Not Found
, а грустный официант побежит передавать ответ клиенту.
Если заказ клиента корректный, то повар Шеф-движок-приложения принимает запрос, и повара-сервера принимаются за работу. Они достают продукты-данные из холодильника-данных, начинают их нарезать и готовить. В процессе они могут перекидывать данные между собой, так как у каждого повара есть своя специализация. HTTP официант не уходит из кухни пока не получит ответ — готовое блюдо. Хорошо что обычно готовка занимает доли секунды и клиенту не нужно долго ждать. Приготовленную еду доставляет клиенту радостный официант в HTML тарелках, приговаривая 200 OK Приятного аппетита
Но что это? Похоже в ресторан зашел странный клиент в капюшоне и заказывает странное блюдо:
http://веб-ресторан.com/хочу-пожрать/пожарьте-мне/?спец-заказ=газовый-балон
Заказ прошел проверку у Веб Серверчева и передан Шефу. Шеф-повар почесал затылок, потом осмотрел кухню, нашел газовый балон и начал его жарить! Как результат балон взорвался, уничтожил холодильник с продуктами и поджег несколько поваров. HTTP-официант в панике убежал, крича всем клиентам 503 Кухня Unavailable
. На место пожара срочно выехали пожарные системные администраторы. Они потушили горящих поваров и дали втык владельцу ресторана за нарушение правил пожарной валидации. Оказывается, у программ-поваров не было инструкции, что газовые балоны жарить нельзя. А продукты из холодильника оказались безвозвратно потеряны, так как владелец ресторана экономил на бэкапах.
Ресторан пришлось закрыть на несколько дней, посетители остались злые и голодные.
А если серьезно
Что в них хорошего
В сравнении с классическими приложениями для настольных компьютеров и мобильными приложениями:
- Не требуют предварительной установки.
- Одинаково работают на устройствах любого типа и в любых операционных системах.
- Безопасны для использования, так как не имеют прямого доступа к файлам на вашем устройстве.
- Могут сохранять данные на удаленном сервере. Вы можете сменить устройство «на ходу» и продолжить работу.
- Сложные вычисления могут быстро выполняться на удаленном сервере
Что в них плохого
Есть и весомые недостатки:
- Не работают без интернета.
- Функциональность строго ограничена возможностями браузера и веб-технологиями.
- Могут быть не доступны в нужный момент из-за сбоя на стороне серверов.
- Владельцы веб-приложений могут отслеживать вашу активность и делиться данными с рекламодателями.
- Злоумышленники могут взломать сервера веб-приложения и похитить ваши данные.
Как использовать веб-приложения безопасно
Следование этим правилам, поможет избежать неприятностей:
- Всегда используйте последнюю версию браузера. Не отключайте автообновление вашего браузера.
- При регистрации используйте надежные и уникальные пароли.
- Проверьте что в адресной строке есть значок замочка. Это гарантирует, что ваши данные не могут быть похищены злоумышленниками при передаче по сети.
- Остерегайтесь сайтов подделок, внешне копирующих всем известные. Перепроверяйте название сайта в адресной строке перед вводом секретных или персональных данных.
- Не открывайте скаченные файлы без проверки антивирусом. Если у вас нет антивируса, воспользуйтесь бесплатным сервисом проверки отдельных файлов: https://www.virustotal.com/
Чем отличается веб-сайт от веб-приложения
Веб-сайт решает только задачу информирования пользователя. Как только появляется дополнительный функционал — сайт становится веб-приложением.
Примеры функционала веб-приложения:
- Сбор и хранение данных пользователя на стороне сервера.
- Авторизация пользователей (для безопасного доступа к пользовательским данным).
- Взаимодействие с базами данных (например, каталог товаров).
- Проведение платежей для онлайн покупок.
- Отправка электронных писем и других уведомлений.
Как работает веб-приложение
При работе веб-приложения задействовано несколько устройств и различных вспомогательных программ
.
- Пользователь — это вы.
- Вы работаете в программе
веб-браузер
, установленной на вашем устройстве — настольном компьютере или смартфоне. - Ваше устройство должно быть подключено к интернету.
- Сеть интернет — обеспечивает обмен данными между вашим устройством и удаленным.
- Удаленные устройства — это сервера в дата-центре
- На удаленных устройствах установлены программы
веб-сервер
и другиесерверные программы
.
Сама работа веб-приложения заключается в обмене данными:
- Вы выполняете какие-то действия в вашем
веб-браузере
, например переход по ссылке или заполнение формы. - Ваш браузер собирает данные, формирует HTTP-запрос, и отправляет веб-серверу.
- Программа
веб-сервер
, принимает запрос и передает предварительно обработанные данные другимсерверным программам
- Серверные программы обработали данные запроса и сформировали данные ответа.
- Программа Веб-сервер возвращает HTTP-ответ вашему браузеру.
- Веб-браузер на вашем устройстве отображает результат, обычно в виде веб-страницы.