169
правок
AE (обсуждение | вклад) (→Объясните простыми словами, пожалуйста!: Файлы-на-вынос) |
AE (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Веб-приложение — это приложение (прикладная [[компьютерная программа]]), с которой пользователь взаимодействует через веб-браузер. | Веб-приложение — это приложение (прикладная [[компьютерная программа]]), с которой пользователь взаимодействует через веб-браузер. | ||
== Объясните простыми словами, пожалуйста | == Объясните простыми словами, пожалуйста == | ||
[[File: The Kitchen at Delmonico's, 1902.JPG|thumb|200px|Повара-сервера ждут запросов от клиентов]] | [[File: The Kitchen at Delmonico's, 1902.JPG|thumb|200px|Повара-сервера ждут запросов от клиентов]] | ||
Представьте, что веб-приложение — это необычный ресторан, где на кухне вместо людей трудятся специальные роботы-повара — серверные программы. Эти программы создал или нанял (взял часть готовыми) владелец ресторана — веб-разработчик. | Представьте, что веб-приложение — это необычный ресторан, где на кухне вместо людей трудятся специальные роботы-повара — серверные программы. Эти программы создал или нанял (то есть взял часть готовыми) владелец ресторана — веб-разработчик. | ||
В ресторан приходят гости — клиенты. Они размещаются в красивом и уютном зале для гостей | В ресторан приходят гости — клиенты. Они размещаются в красивом и уютном зале для гостей, этот зал еще называют «фротненд веб-приложения». Гостей не пускают на кухню-серверную или в «бекенд веб-приложения», чтобы они не крали продукты из холодильника и не смущали роботов-поваров. Кстати, холодильник с продуктами — это аналог базы данных. Программы-повара извлекают оттуда данные-продукты и обрабатывают-готовят их. | ||
Но как же клиент закажет себе еду, если ему нельзя на кухню? На помощь приходит HTTP-официант. Вы подзывайте его, набирая в адресной строке браузера: | Но как же клиент закажет себе еду, если ему нельзя на кухню? На помощь приходит HTTP-официант. Вы подзывайте его, набирая в адресной строке браузера: | ||
Строка 15: | Строка 15: | ||
Что происходит дальше: HTTP-официант записывает ваш запрос на листочке и бежит на кухню по сети интернет. Если официант хороший, то он кладет листочек с запросом в зашифрованный карман, чтобы никто другой не узнал, что вы заказали. Таких надежных официантов еще зовут HTTP'''S''' (s = секьюрный). | Что происходит дальше: HTTP-официант записывает ваш запрос на листочке и бежит на кухню по сети интернет. Если официант хороший, то он кладет листочек с запросом в зашифрованный карман, чтобы никто другой не узнал, что вы заказали. Таких надежных официантов еще зовут HTTP'''S''' (s = секьюрный). | ||
Итак, официант прибегает на кухню и передает записку одному из поваров — Вебсерверу Энжинксовичу Апачеву. Тот примерно знает, что повара умеют готовить, а что нет. Если в заказе от клиента | Итак, официант прибегает на кухню и передает записку одному из поваров — Вебсерверу Энжинксовичу Апачеву. Тот примерно знает, что повара умеют готовить, а что нет. Если в заказе от клиента написана дичь, а дичь на кухне отсутствует в принципе, то Веб-сервер сразу ответит ошибкой <code>404 Дичь Not Found</code>, а грустный официант побежит обратно передавать ответ клиенту. | ||
Если заказ клиента корректный, то главный повар Шеф Движокович Приложеньев принимает запрос, и все повара-сервера принимаются за работу. Они достают продукты-данные из холодильника-данных, начинают их нарезать и готовить. В процессе они могут перекидывать данные между собой, так как у каждого повара есть своя специализация. HTTP официант не уходит из кухни пока не получит ответ — готовое блюдо. Хорошо что обычно готовка занимает доли секунды и клиенту не нужно долго ждать. Приготовленную еду доставляет клиенту радостный официант в HTML тарелках, приговаривая <code>200 OK Приятного аппетита</code> | Если заказ клиента корректный, то главный повар Шеф Движокович Приложеньев принимает запрос, и все повара-сервера принимаются за работу. Они достают продукты-данные из холодильника-данных, начинают их нарезать и готовить. В процессе они могут перекидывать данные между собой, так как у каждого повара есть своя специализация. HTTP-официант не уходит из кухни, пока не получит ответ — готовое блюдо. Хорошо, что обычно готовка занимает доли секунды, и клиенту не нужно долго ждать. Приготовленную еду доставляет клиенту радостный официант в HTML тарелках, приговаривая <code>200 OK Приятного аппетита!</code> | ||
Но что это? Похоже в ресторан зашел странный клиент в капюшоне и заказывает странное блюдо: | Но что это? Похоже в ресторан зашел странный клиент в капюшоне и заказывает странное блюдо: | ||
Строка 23: | Строка 23: | ||
<code><nowiki>http://веб-ресторан.com/хочу-пожрать/пожарьте-мне/?спец-заказ=газовый-балон</nowiki></code> | <code><nowiki>http://веб-ресторан.com/хочу-пожрать/пожарьте-мне/?спец-заказ=газовый-балон</nowiki></code> | ||
Заказ прошел проверку у Вебсервера и передан Шефу. Шеф-повар почесал затылок, потом осмотрел кухню, нашел газовый балон и начал его жарить! Как результат балон взорвался, уничтожил холодильник с продуктами и поджег несколько поваров. HTTP-официант в панике | Заказ прошел проверку у Вебсервера и был передан Шефу. Шеф-повар почесал затылок, потом осмотрел кухню, нашел газовый балон и начал его жарить! Как результат балон взорвался, уничтожил холодильник с продуктами и поджег несколько поваров. HTTP-официант в панике выбежал, крича всем клиентам <code>503 Кухня Unavailable</code>. На место пожара срочно выехали пожарные системные администраторы. Они потушили горящих поваров и дали втык владельцу ресторана за нарушение правил пожарной валидации. Оказывается, у программ-поваров не было инструкции, что газовые балоны жарить нельзя. А вот продукты из холодильника оказались безвозвратно потеряны, так как владелец ресторана экономил на бэкапах. | ||
Ресторан пришлось закрыть на несколько дней, а посетители остались злые и голодные. | Ресторан пришлось закрыть на несколько дней, а посетители остались злые и голодные. |