#web
HTTP — это протокол, позволяющий получать различные ресурсы, например HTML-документы.
Протокол HTTP лежит в основе обмена данными в Интернете. HTTP является протоколом клиент-серверного взаимодействия, что означает инициирование запросов к серверу самим получателем, обычно веб-браузером (web-browser).
Полученный итоговый документ будет (может) состоять из различных поддокументов являющихся частью итогового документа: например, из отдельно полученного текста, описания структуры документа, изображений, видео-файлов, скриптов и многого другого.
Каждый запрос (англ. request) отправляется серверу, который обрабатывает его и возвращает ответ (англ. response). Между этими запросами и ответами как правило существуют многочисленные посредники, называемые прокси, которые выполняют различные операции и работают как шлюзы или кэш, например.
HTTP — это протокол, позволяющий получать различные ресурсы, например HTML-документы.
Протокол HTTP лежит в основе обмена данными в Интернете. HTTP является протоколом клиент-серверного взаимодействия, что означает инициирование запросов к серверу самим получателем, обычно веб-браузером (web-browser).
Полученный итоговый документ будет (может) состоять из различных поддокументов являющихся частью итогового документа: например, из отдельно полученного текста, описания структуры документа, изображений, видео-файлов, скриптов и многого другого.
Каждый запрос (англ. request) отправляется серверу, который обрабатывает его и возвращает ответ (англ. response). Между этими запросами и ответами как правило существуют многочисленные посредники, называемые прокси, которые выполняют различные операции и работают как шлюзы или кэш, например.
#web
HTTPS vs HTTP
HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP но со встроенным шифровальщиком. Добавочная буква «S» в аббревиатуре означает «Secure», то есть «безопасный».
HTTPS это закрытый протокол имеющий надстройку шифрования и использующий по умолчанию порт 433, тогда как HTTP – открытый протокол который использует порт 80
Данные передаваемые по протоколу HTTPS всегда больше по объёму чем те самые данные на HTTP поэтому их передача в обе стороны занимает чуть больше времени
HTTPS использует SSL-сертификаты для шифрования информации
Как это происходит?
Если на сайте есть SSL-сертификат, между браузером клиента и сайтом устанавливается защищённое соединение. В этом случае браузер сначала преобразует номер карты в случайный набор символов и только потом отправляет его на сервер.
Расшифровать сообщение получится только специальным ключом, который хранится на сервере.
HTTPS vs HTTP
HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP но со встроенным шифровальщиком. Добавочная буква «S» в аббревиатуре означает «Secure», то есть «безопасный».
HTTPS это закрытый протокол имеющий надстройку шифрования и использующий по умолчанию порт 433, тогда как HTTP – открытый протокол который использует порт 80
Данные передаваемые по протоколу HTTPS всегда больше по объёму чем те самые данные на HTTP поэтому их передача в обе стороны занимает чуть больше времени
HTTPS использует SSL-сертификаты для шифрования информации
Как это происходит?
Если на сайте есть SSL-сертификат, между браузером клиента и сайтом устанавливается защищённое соединение. В этом случае браузер сначала преобразует номер карты в случайный набор символов и только потом отправляет его на сервер.
Расшифровать сообщение получится только специальным ключом, который хранится на сервере.
#Web
Что такое модель MVC?
Это способ организации кода, который предполагает выделение блоков, отвечающих за решение разных задач. Один блок отвечает за данные приложения, другой отвечает за внешний вид, а третий контролирует работу приложения.
MVC расшифровывается как модель-вид-контроллер
Модель (Model) - это данные и правила, которые используются для работы с данными, которые представляют концепцию управления приложением. Модель даёт контроллеру представление данных, которые запросил пользователь.Она содержит наиболее важную часть логики приложения, логики, которая решает задачу, с которой мы имеем дело тогда как контроллер содержит в основном организационную логику для самого приложения
Вид (View) - отвечает за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.
Контроллер (Controller) - управляет запросами пользователя (получаемые в виде запросов HTTP GET или POST, когда пользователь нажимает на элементы интерфейса для выполнения различных действий). Его основная функция — вызывать и координировать действие необходимых ресурсов и объектов, нужных для выполнения действий, задаваемых пользователем.
Что такое модель MVC?
Это способ организации кода, который предполагает выделение блоков, отвечающих за решение разных задач. Один блок отвечает за данные приложения, другой отвечает за внешний вид, а третий контролирует работу приложения.
MVC расшифровывается как модель-вид-контроллер
Модель (Model) - это данные и правила, которые используются для работы с данными, которые представляют концепцию управления приложением. Модель даёт контроллеру представление данных, которые запросил пользователь.Она содержит наиболее важную часть логики приложения, логики, которая решает задачу, с которой мы имеем дело тогда как контроллер содержит в основном организационную логику для самого приложения
Вид (View) - отвечает за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.
Контроллер (Controller) - управляет запросами пользователя (получаемые в виде запросов HTTP GET или POST, когда пользователь нажимает на элементы интерфейса для выполнения различных действий). Его основная функция — вызывать и координировать действие необходимых ресурсов и объектов, нужных для выполнения действий, задаваемых пользователем.
#backend #web
Реляционные и нереляционные базы данных
🔸Реляционные базы данных используют язык структурированных запросов (SQL) для того, чтобы обрабатывать данные и управлять ими.
С одной стороны, это довольно удобно: SQL - один из наиболее разносторонних и общеупотребимых вариантов, так что это безопасный выбор. Также этот язык подходит для сложных запросов.
С другой стороны, с этим языком идут определенные ограничения. В SQL нужно использовать заданные наперед схемы и определять структуру данных перед началом работы с нею. К тому же, все данные должны иметь одну и ту же структуру. Так как перемена в структуре может обернуться сложностями и разрушить всю систему.
🔸Нереляционные базы данных, напротив, обладают гибкими схемами для неструктурированных данных. Они могут храниться по-разному: в колонках, документах, графах или в виде хранилища «ключ-значение». Эта гибкость позволяет:
▫️Создавать документы, не определяя их структуру заранее;
▫️Каждый документ может обладать собственной уникальной структурой;
▫️Синтаксис может различаться в разных базах данных;
▫️В процессе работы можно добавлять новые поля.
Реляционные и нереляционные базы данных
🔸Реляционные базы данных используют язык структурированных запросов (SQL) для того, чтобы обрабатывать данные и управлять ими.
С одной стороны, это довольно удобно: SQL - один из наиболее разносторонних и общеупотребимых вариантов, так что это безопасный выбор. Также этот язык подходит для сложных запросов.
С другой стороны, с этим языком идут определенные ограничения. В SQL нужно использовать заданные наперед схемы и определять структуру данных перед началом работы с нею. К тому же, все данные должны иметь одну и ту же структуру. Так как перемена в структуре может обернуться сложностями и разрушить всю систему.
🔸Нереляционные базы данных, напротив, обладают гибкими схемами для неструктурированных данных. Они могут храниться по-разному: в колонках, документах, графах или в виде хранилища «ключ-значение». Эта гибкость позволяет:
▫️Создавать документы, не определяя их структуру заранее;
▫️Каждый документ может обладать собственной уникальной структурой;
▫️Синтаксис может различаться в разных базах данных;
▫️В процессе работы можно добавлять новые поля.
#web
Flutter вот-вот завоюет Web
Если вы слышали о Flutter, то, скорее всего, слышали о нем в контексте разработки мобильных приложений. Так какое отношение он имеет к веб-сайтам? С обычной HTML-страницей вы работаете как с документом. Во Flutter «страница» (или то, с чем взаимодействует пользователь) фактически рисуется на канве (canvas) HTML. Flutter фактически контролирует каждый пиксель, который рисуется на экране, и не использует HTML, JavaScript или CSS для определения его внешнего вида или логики. (Технически говоря, родной код Dart переносится на JavaScript через dart2js, но на самом деле никакая бизнес-логика не пишется на JavaScript.)
Понимаю — это звучит странно и, по крайней мере, рисование непосредственно на канве, не очень производительно. Но давайте углубимся в этот вопрос.
*Что делать, если вы хотите, чтобы пользователь прокручивал страницу слева направо, а не сверху вниз? Это уже не так просто сделать на обычной веб-странице. Во Flutter, если вы хотите сделать определенную часть контента горизонтально прокручиваемым, а не вертикально прокручиваемым, это так же просто, как сделать виджеты в SingleChildScrollView.
*Flutter использует Dart в качестве языка. Весь внешний вид приложения и бизнес-логика написаны на нем. Dart поставляется со статической проверкой типов данных, и скоро появится null safety (прим. переводчика: уже появился), поэтому каждая строка кода в вашем приложении, будь то визуальное описание вашего приложения, придание ему стиля или управление бизнес-логикой вашего приложения, полностью типобезопасна.
*Поскольку Flutter визуализирует каждый пиксель на экране, это дает дизайнерам и разработчикам большой контроль над тем, что именно они хотят видеть в приложении.
Flutter вот-вот завоюет Web
Если вы слышали о Flutter, то, скорее всего, слышали о нем в контексте разработки мобильных приложений. Так какое отношение он имеет к веб-сайтам? С обычной HTML-страницей вы работаете как с документом. Во Flutter «страница» (или то, с чем взаимодействует пользователь) фактически рисуется на канве (canvas) HTML. Flutter фактически контролирует каждый пиксель, который рисуется на экране, и не использует HTML, JavaScript или CSS для определения его внешнего вида или логики. (Технически говоря, родной код Dart переносится на JavaScript через dart2js, но на самом деле никакая бизнес-логика не пишется на JavaScript.)
Понимаю — это звучит странно и, по крайней мере, рисование непосредственно на канве, не очень производительно. Но давайте углубимся в этот вопрос.
*Что делать, если вы хотите, чтобы пользователь прокручивал страницу слева направо, а не сверху вниз? Это уже не так просто сделать на обычной веб-странице. Во Flutter, если вы хотите сделать определенную часть контента горизонтально прокручиваемым, а не вертикально прокручиваемым, это так же просто, как сделать виджеты в SingleChildScrollView.
*Flutter использует Dart в качестве языка. Весь внешний вид приложения и бизнес-логика написаны на нем. Dart поставляется со статической проверкой типов данных, и скоро появится null safety (прим. переводчика: уже появился), поэтому каждая строка кода в вашем приложении, будь то визуальное описание вашего приложения, придание ему стиля или управление бизнес-логикой вашего приложения, полностью типобезопасна.
*Поскольку Flutter визуализирует каждый пиксель на экране, это дает дизайнерам и разработчикам большой контроль над тем, что именно они хотят видеть в приложении.
#web
Модель OSI. Кратко.
7. Прикладной уровень - это единственный уровень который работает с пользователем и пользовательскими данными.
6. Уровень представления - данные с 7 уровня преобразуются в массив байт, возможно происходит сжатие и шифрования данных.
5. Сеансовый уровень - открывает соединение, и передает данные транспортному уровню.
4. Транспортный уровень - разбивает огромный массив байт на сегменты и добавляет к каждому сегменту свой заголовок в виде портов приложений откуда передается информация куда.
3. Сетевой уровень - разбивает сегменты на IP-пакеты, также добавляет свой заголовок.
2. Канальный уровень - разбивает эти пакеты на фреймы(кадры), добавляет заголовки.
1. Физический уровень - фреймы переходят на физический уровень, и через кабель или вайфай, мы преобразуем каждый из этих кадров в последовательность нулей и единиц, которые передаются на наш маршрутизатор или свитч.
После получения данных вторым устройством, начинается обратное преобразование последовательности нулей и единиц в данные прикладного уровня.
Каждый из протоколов знает как работать с протоколами смежных уровней.
Модель OSI. Кратко.
7. Прикладной уровень - это единственный уровень который работает с пользователем и пользовательскими данными.
6. Уровень представления - данные с 7 уровня преобразуются в массив байт, возможно происходит сжатие и шифрования данных.
5. Сеансовый уровень - открывает соединение, и передает данные транспортному уровню.
4. Транспортный уровень - разбивает огромный массив байт на сегменты и добавляет к каждому сегменту свой заголовок в виде портов приложений откуда передается информация куда.
3. Сетевой уровень - разбивает сегменты на IP-пакеты, также добавляет свой заголовок.
2. Канальный уровень - разбивает эти пакеты на фреймы(кадры), добавляет заголовки.
1. Физический уровень - фреймы переходят на физический уровень, и через кабель или вайфай, мы преобразуем каждый из этих кадров в последовательность нулей и единиц, которые передаются на наш маршрутизатор или свитч.
После получения данных вторым устройством, начинается обратное преобразование последовательности нулей и единиц в данные прикладного уровня.
Каждый из протоколов знает как работать с протоколами смежных уровней.