1. Адресация, IPv4, IPv6
-Кратко:IP-адрес указывает узел сети. IPv4 - 32 бита, IPv6 - 128 бит. Домен через DNS превращается в IP.
+Кратко:IP-адрес нужен, чтобы доставить пакет до конкретного узла сети. IPv4 записывается как четыре числа и занимает 32 бита, поэтому адресов мало; IPv6 занимает 128 бит и записывается шестнадцатеричными блоками. Доменное имя само по себе не является сетевым адресом: перед подключением DNS превращает его в IP.
2. TCP, порты, NAT и подсети
-Кратко:TCP отвечает за надёжную передачу, порт выбирает приложение, маска делит сеть, NAT переводит приватные адреса в публичные.
+Кратко:TCP устанавливает соединение и контролирует доставку данных: порядок, подтверждения и повторную отправку. IP выбирает устройство, а порт выбирает приложение на этом устройстве. Маска подсети отделяет адрес сети от адреса хоста, а NAT позволяет приватным адресам локальной сети выходить наружу через публичный IP.
3. DNS, URI, URL, URN
-Кратко:DNS находит IP по имени. URI - общий идентификатор, URL - адрес получения ресурса, URN - устойчивое имя.
+Кратко:DNS сопоставляет доменное имя с IP-адресом, чтобы браузер понял, к какому серверу подключаться. URI - общее понятие для идентификатора ресурса. URL является частным случаем URI: он указывает, где находится ресурс и как его получить; URN задаёт устойчивое имя без обязательного сетевого адреса.
4. HTTP, HTTPS, HTTP/3
-Кратко:HTTP - запрос и ответ. HTTPS добавляет TLS. HTTP/3 переносит HTTP на QUIC поверх UDP.
+Кратко:HTTP - прикладной протокол обмена сообщениями: клиент отправляет запрос, сервер возвращает ответ со статусом, заголовками и, возможно, телом. GET обычно получает данные, POST отправляет данные в теле запроса. HTTPS - это HTTP внутри TLS-соединения, а HTTP/3 сохраняет смысл HTTP, но использует QUIC поверх UDP.
5. Идентификация, аутентификация, OAuth 2.0
-Кратко:Идентификация - кто ты, аутентификация - докажи, авторизация - что тебе можно. OAuth 2.0 выдаёт ограниченный доступ без передачи пароля.
+Кратко:Идентификация отвечает на вопрос "кто пользователь?", аутентификация проверяет доказательство личности, например пароль или код. Авторизация решает, какие действия разрешены уже проверенному пользователю. OAuth 2.0 используется, чтобы стороннее приложение получило ограниченный access token без получения пароля пользователя.
6. HTML-документ
-Кратко:HTML описывает структуру страницы. head хранит служебные данные, body - видимое содержимое.
Кратко:HTML описывает смысловую структуру страницы: заголовки, абзацы, ссылки, изображения, таблицы и разделы. В head находятся служебные данные: кодировка, viewport, заголовок вкладки, подключение CSS и скриптов. В body находится видимый контент; семантические теги помогают показать назначение частей страницы.
7. HTML-формы
-Кратко:Форма отправляет данные на сервер. name уходит в запросе, id связывает поле с label.
Кратко:HTML-форма собирает ввод пользователя и отправляет его на сервер по адресу из action методом GET или POST. Атрибут name определяет имя параметра в запросе, а id обычно нужен для связи поля с label. required, type и другие атрибуты дают базовую проверку в браузере.
8. CSS selectors и специфичность
-Кратко:Селектор выбирает элементы. Специфичность решает, какое CSS-правило победит при конфликте.
+Кратко:CSS-селектор выбирает элементы, к которым применяются свойства. При конфликте правил учитываются каскад, специфичность и порядок записи. ID сильнее класса, класс сильнее тега; если специфичность равна, побеждает правило, написанное ниже.
9. CSS box model и базовые свойства
-Кратко:Блок состоит из content, padding, border и margin. border-box включает padding и border в заданную ширину.
Кратко:Каждый элемент в CSS рассматривается как прямоугольный блок: content, padding, border и margin. При content-box ширина задаёт только content, а padding и border добавляются сверху. При border-box заданная ширина уже включает content, padding и border, поэтому размеры проще контролировать.
10. Flexbox и Grid
-Кратко:Flexbox раскладывает по одной оси. Grid работает со строками и столбцами одновременно.
+Кратко:Flexbox удобен для одномерной раскладки: элементы распределяются вдоль главной оси, а поперечная ось используется для выравнивания. Grid решает двумерные задачи: одновременно управляет строками, столбцами, линиями, ячейками и областями. fr, repeat() и minmax() помогают задавать гибкую сетку.
11. Django models и ORM queries
-Кратко:Модель описывает таблицу. ORM строит запросы через Python. QuerySet ленивый и поддерживает цепочки методов.
+Кратко:Модель Django описывает таблицу базы данных: класс - таблица, поле - колонка, объект - строка. ORM позволяет строить SQL-запросы через Python-методы вроде filter(), get(), annotate() и aggregate(). QuerySet ленивый: запрос обычно выполняется только тогда, когда реально нужны данные.
12. Django views, URLs, templates, forms
-Кратко:View принимает request и возвращает response. URL связывает путь и view. Template получает context. Form валидирует данные.
+Кратко:Django view принимает request и возвращает HTTP-ответ: HTML, redirect, JSON или ошибку. URL-маршрут связывает путь с view, шаблон получает context и отображает данные, а форма описывает поля, валидирует ввод и отдаёт очищенные значения через cleaned_data. FBV проще как функция, CBV удобнее для типовых страниц.