Перейти к содержанию

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

5891 байт добавлено ,  14:38, 30 октября 2022
Объясните простыми словами, пожалуйста!
мНет описания правки
(Объясните простыми словами, пожалуйста!)
Строка 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>.