Step 2 (S-44779)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/14827/step/2

Step 2 (S-44779) 1.png

[00:00 - 00:17] итак мы переходим к центральной теме нашего курса разработке веб приложений а медь приложение для этого а давайте вспомним какие типы запросов осуществляются


[00:17 - 00:33] современными сайтами в современной сети а с точки зрения что теперь все в сети запрос они в принципе болями равноправным то есть типизация сделан исключительно из практических соображений а


Step 2 (S-44779) 2.png

[00:33 - 00:48] 1 1 вид запросов это запросы статических файлов то есть когда браузер хочет загрузить как исторический факт сс javascript картинку мы разобрались с этим


[00:48 - 01:06] и обсудили что в архитектуре фронтом а обслуживания таких запросов занимается фронтенд сер а в частности например nginx до а приложение до backend а такие запросы просто не доходят


[01:06 - 01:24] далее на запросы динамических документов запрос динамически документов это то чем занимаются на приложение а естественно под динамическими документы я понимаю что мы странички которая сгенерированные


[01:24 - 01:41] под конкретного пользователя либо под конкретный набор атрибутов они хранятся на диске они создаются на лету обработка форм обработка форм это то чем занимаются приложение


[01:41 - 01:59] проработка форм тесно связана с бизнес логикой а никто другой это не сможет решить а также к ответственности в приложении относятся аякс запросы и запросы к api сайта если у сайта есть api а


[01:59 - 02:15] то эти запросы скорее всего также пойдут к основному приложению а кроме того существуют персистентные соединения то есть это такие запросы которые а


[02:15 - 02:34] предназначены для либо для поддержания реалтайм сообщений либо для постоянной передачи данных сама технология персистентных соединения она требует наличия на бэкэнде event driven сервера поэтому как правило такие соединения обслуживается отдельным сервером


[02:34 - 02:51] а их мы будем рассматривать самом конце обычно в приложение классический будем смотреть рассматривать они не занимаются в сложенном таких соединений и того у нас остается 4


[02:51 - 03:06] разновидности запросов генерация динамических документов обработка форм а обработка запросов и запросы к api сайт а


[03:06 - 03:22] все эти запросы они чем то более менее схож посмотрим какие задачи должен решать должно решить а нашего приложения для того чтобы обработать 1 из таких запросов


[03:22 - 03:38] все задачи это то что не решается другими слоями то есть собственный парсинг степи запроса и выпить чашечку и запрос соберет на себя аппликейшен сервер


[03:38 - 03:54] вместе с прослойкой вес а до нашел приложение как мы говорили уже доходят некоторое готовое окружение вес же окружения а но тем не менее на приложение остаются такие задачи


[03:54 - 04:11] а можешь сдаться то есть по входящим урлу нужно понять какую именно функцию вызвать для обработки данного запроса на сайте может быть много функций нужно выбрать правильно а парсинг заголовков и параметров запроса а


[04:11 - 04:26] по той причине что сервер не анализирует содержимое самих заголовков это но должна сделать наше приложение например разобрать заголовок куки извлечь конкретные значения кук


[04:26 - 04:44] хранения состояния либо сессии пользователя протокол http status то есть каждый новый запрос а приходит к новому серверу то есть это может быть тот же самый сервер может быть другой как как произойдет балансировка на фронтэнде а поэтому


[04:44 - 05:00] мы не можем связывать а пользователя текущего а с каким то сетевым соединением нам необходимо поддерживать сессию а хранить некоторое состояние пользователя это тоже остается нашего приложения


[05:00 - 05:19] а выполнения бизнес логики ну конечно это должны вызывать непосредственному а при выполнении бизнес логики приложения может делать какие то расчеты но на самом деле большая часть в приложении это все таки некоторые прослойке


[05:19 - 05:35] доступ к каким то данным то есть а зачастую и приложение а оно обеспечивает доступ к данным которые хранятся в некоторых базах а реляционных базах данных либо скейтах хранилище


[05:35 - 05:53] либо передает запрос и вообще другим серверам например сервера полнотекстового поиска и в конце концов необходимо сгенерировать html страницу либо джисон а генерировать и вернуть а теперь ответ


[05:53 - 06:12] как мы видим довольно много и а решать каждый раз в каждом отдельном приложении эти задачи заново это очень трудоемко а поэтому при разработке веб приложения на сегодняшний день практически всегда использовать стильно и фреймворке