diff --git a/99 System/Export/Подготовка к экзамену по веб-разработке.html b/99 System/Export/Подготовка к экзамену по веб-разработке.html index 9e1b437..c953e05 100644 --- a/99 System/Export/Подготовка к экзамену по веб-разработке.html +++ b/99 System/Export/Подготовка к экзамену по веб-разработке.html @@ -201,6 +201,34 @@ font-size: 13px; } + .term-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; + margin: 12px 0 16px; + } + + .term { + border: 1px solid var(--line); + border-radius: 6px; + padding: 10px; + background: #fafbfe; + } + + .term strong { + display: block; + margin-bottom: 4px; + color: #111827; + } + + .exam { + border-left: 4px solid var(--accent); + background: var(--soft); + padding: 10px 12px; + margin: 12px 0 14px; + border-radius: 0 6px 6px 0; + } + table { width: 100%; border-collapse: collapse; @@ -224,6 +252,10 @@ grid-template-columns: 1fr; } + .term-grid { + grid-template-columns: 1fr; + } + main { padding: 20px 14px 40px; } @@ -478,6 +510,26 @@
IPv4 32 бита, запись вроде 192.168.1.10. Адресов мало, поэтому используют приватные диапазоны и NAT.
IPv6 128 бит, запись вроде 2001:db8::1. Адресов намного больше, запись можно сокращать через ::.
Приватные IPv4-диапазоны: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. 127.0.0.1 - localhost, обращение к самому себе.
0.0.0.0 ... 255.255.255.255.localhost и 127.0.0.1.example.com.443 для HTTPS.Порт выбирает приложение внутри одного IP-адреса. HTTP обычно работает на 80, HTTPS - на 443.
Маска подсети показывает, где в IP-адресе часть сети, а где часть хоста. В 192.168.1.10/24 сеть - 192.168.1.0, хост - .10.
NAT переводит приватные адреса во внешний публичный адрес. PAT дополнительно использует порты, поэтому много внутренних устройств могут выходить через один публичный IP.
+/24. Число показывает количество сетевых бит.SYN: клиент говорит "хочу соединиться".SYN-ACK: сервер говорит "готов, подтверждаю".ACK: клиент подтверждает ответ сервера.192.168.1.10/24: первые 24 бита - сеть, последние 8 бит - хосты. Адрес сети 192.168.1.0, типичный шлюз 192.168.1.1, устройства часто получают адреса 192.168.1.2 ... 192.168.1.254.
TXTURI - общий идентификатор. URL - URI с адресом и способом получения: https://example.com/path?x=1#top. URN - устойчивое имя, например ISBN или UUID.
.ru, .com, .org.#. Обычно указывает на элемент внутри документа.https://example.com:443/articles/1?print=true#comments+
https - схема, то есть способ доступа.example.com - хост: домен или IP.443 - порт. Можно не писать, если он стандартный для схемы./articles/1 - путь к ресурсу на сервере.?print=true - query string, параметры запроса.#comments - фрагмент внутри страницы.GET обычно получает данные, параметры видны в URL. POST обычно отправляет данные в теле запроса.
Коды: 2xx успех, 3xx редирект, 4xx ошибка клиента, 5xx ошибка сервера.
HTTPS - HTTP поверх TLS. HTTP/3 - HTTP поверх QUIC/UDP; смысл методов и кодов не меняется.
+200, 404, 500.| Метод | Назначение |
|---|---|
GET | Получить ресурс. Не должен менять состояние сервера. |
POST | Отправить данные: форму, JSON, файл, команду создания. |
HEAD | Получить только заголовки, без тела ответа. |
PUT | Полностью создать или заменить ресурс. |
PATCH | Частично изменить ресурс. |
DELETE | Удалить ресурс. |
OPTIONS | Узнать возможности сервера или разрешённые методы. |
| Заголовок | Смысл |
|---|---|
Host | Домен или хост, к которому обращается клиент. |
User-Agent | Информация о клиенте: браузер, ОС, версия. |
Accept | Какие типы ответа клиент готов принять. |
Content-Type | Тип данных в теле сообщения. |
Cookie | Cookies, которые браузер отправляет серверу. |
Authorization | Данные доступа, например Bearer token. |
head содержит meta, title, link, script. meta viewport нужен, чтобы мобильный браузер корректно рассчитывал ширину страницы.
Блочные элементы занимают строку: div, p, section, form. Строчные идут внутри текста: span, a, strong, em.
Семантические теги: header, nav, main, section, article, aside, footer.
<!doctype html> +<html lang="ru"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Страница</title> + </head> + <body> + <main>Контент</main> + </body> +</html>+
<!doctype html>Сообщает браузеру, что документ написан по HTML5 и его нужно обрабатывать в стандартном режиме.<html>Корневой элемент всей HTML-страницы. Атрибут lang задаёт язык документа.<head>Служебная часть документа. Не отображает основной контент пользователю.<body>Видимое содержимое страницы: текст, формы, изображения, таблицы, разделы.<meta charset>Задаёт кодировку. Для русских текстов обычно нужен UTF-8.<meta viewport>Говорит мобильному браузеру использовать ширину устройства, а не виртуальную широкую страницу.<title>Название вкладки браузера и заголовок страницы для поисковиков.<link>Подключает внешний ресурс, чаще всего CSS: rel="stylesheet".<script>Подключает или содержит JavaScript. Может быть в head или в конце body.<style>Внутренние CSS-правила прямо в HTML-документе.| Тег | Назначение |
|---|---|
<h1>...<h6> | Заголовки уровней. h1 главный, h6 самый низкий. |
<p> | Абзац текста. |
<br> | Принудительный перенос строки. Не использовать вместо абзацев. |
<strong> | Важное смысловое выделение, обычно отображается жирным. |
<em> | Смысловой акцент, обычно отображается курсивом. |
<code> | Фрагмент кода или технического текста. |
<div> | Нейтральный блочный контейнер без собственного смысла. |
<span> | Нейтральный строчный контейнер без собственного смысла. |
<a> | Ссылка. Главный атрибут: href. |
<img> | Изображение. Важны src и alt. |
<ul>, <ol>, <li> | Маркированный список, нумерованный список и элемент списка. |
<table>, <tr>, <th>, <td> | Таблица, строка, заголовочная ячейка, обычная ячейка. |
<caption> | Название таблицы. |
<thead>, <tbody>, <tfoot> | Группы строк таблицы: заголовок, тело, итог. |
| Тег | Когда использовать |
|---|---|
<header> | Верхняя часть страницы или секции: логотип, заголовок, навигация. |
<nav> | Блок основных навигационных ссылок. |
<main> | Главный контент страницы. Обычно один на страницу. |
<section> | Смысловой раздел, обычно с заголовком. |
<article> | Самостоятельный материал: статья, пост, карточка новости. |
<aside> | Дополнительный контент: боковая панель, подсказки, связанные ссылки. |
<footer> | Нижняя часть страницы или секции. |
classКласс элемента. Один и тот же класс можно дать многим элементам для CSS и JS.idУникальный идентификатор элемента на странице. Используется для якорей, label, JS.hrefАдрес ссылки у a.srcИсточник файла у img, script и некоторых других тегов.altТекстовое описание изображения. Нужно для доступности и если картинка не загрузилась.target="_blank"Открывает ссылку в новой вкладке.colspanОбъединяет ячейку таблицы по столбцам.rowspanОбъединяет ячейку таблицы по строкам.radio выбирает один вариант из группы с одинаковым name. checkbox - независимый флажок. fieldset и legend группируют поля.
placeholder - подсказка внутри поля. required - поле обязательно. У кнопки лучше явно писать type="submit", type="button" или type="reset".
| Тег | Назначение |
|---|---|
<form> | Контейнер формы. Определяет, куда и как отправлять данные. |
<input> | Универсальное поле. Поведение зависит от type. |
<label> | Подпись поля. Связывается с полем через for и id. |
<button> | Кнопка формы или обычного действия. |
<textarea> | Многострочное текстовое поле. |
<select> | Выпадающий список. |
<option> | Вариант внутри select. |
<fieldset> | Логическая группа полей. |
<legend> | Заголовок группы fieldset. |
actionURL, куда отправляется форма.methodHTTP-метод отправки: чаще get или post.nameИмя параметра, которое попадёт в запрос на сервер.idИдентификатор поля, нужен для связи с label.valueЗначение поля или значение варианта.requiredПоле обязательно для заполнения в браузере.placeholderПодсказка внутри пустого поля. Не заменяет подпись.checkedПредварительно выбранный checkbox или radio.disabledПоле выключено и обычно не отправляется.readonlyПоле нельзя редактировать, но значение может отправляться.| Тип | Что делает |
|---|---|
text | Обычная строка. |
password | Пароль, символы скрываются. |
email | Email с базовой браузерной проверкой. |
number | Число, можно использовать min и max. |
radio | Один выбор из группы с одинаковым name. |
checkbox | Независимый флажок. Можно выбрать несколько. |
submit | Кнопка отправки формы. |
file | Выбор файла. |
hidden | Скрытое поле, не видно пользователю, но отправляется. |
Специфичность: inline-style сильнее id, id сильнее class/attribute/pseudo-class, class сильнее tag.
body .content сильнее div p, потому что класс имеет больший вес, чем селектор тега.
Если специфичность одинаковая, побеждает правило ниже в CSS. Наследуются, например, color и font-family; не наследуются margin, padding, border.
| Селектор | Пример | Что выбирает |
|---|---|---|
| Универсальный | * | Все элементы. |
| Элемент | p | Все теги p. |
| Класс | .card | Все элементы с class="card". |
| ID | #main | Элемент с id="main". |
| Потомок | article p | Все p внутри article на любой глубине. |
| Дочерний | article > p | Только прямые дочерние p. |
| Соседний | h2 + p | Первый p сразу после h2. |
| Общий соседний | h2 ~ p | Все p после h2 на том же уровне. |
| Атрибут | input[required] | Элементы с указанным атрибутом. |
| Псевдокласс | a:hover | Состояние элемента или структурное условие. |
| Псевдоэлемент | p::first-line | Виртуальную часть элемента. |
:hoverКогда указатель мыши над элементом.:focusКогда элемент в фокусе, например поле ввода активно.:activeМомент активации, например нажатие мышью.:first-childЭлемент является первым ребёнком родителя.:last-childЭлемент является последним ребёнком родителя.:nth-child(n)Элемент на заданной позиции среди детей.:not(...)Элементы, которые не подходят под вложенный селектор.:checkedВыбранный checkbox или radio.Удобно считать как четыре группы: inline, id, class/attribute/pseudo-class, tag/pseudo-element.
+| Селектор | Вес | Комментарий |
|---|---|---|
div p | 0-0-0-2 | Два тега. |
body .content | 0-0-1-1 | Один класс и один тег. |
#app .content p | 0-1-1-1 | ID почти всегда перебивает классы и теги. |
style="..." | 1-0-0-0 | Inline-стиль сильнее обычного CSS. |
h1, h2 - это два отдельных правила с одинаковыми объявлениями.
+ Реальная ширина такого блока - 100px.
Шрифты: font-family, font-size, font-weight, font-style. Текст: text-align, text-decoration, line-height, letter-spacing, text-shadow.
content-boxЗначение по умолчанию: width задаёт только content.border-boxwidth включает content, padding и border.| Значение | Поведение |
|---|---|
block | Элемент начинается с новой строки и обычно занимает всю доступную ширину. |
inline | Идёт внутри строки, ширина и высота задаются плохо или не работают как у блока. |
inline-block | Снаружи ведёт себя как строчный, внутри как блочный: можно задавать размеры. |
none | Элемент полностью убирается из раскладки. |
flex | Создаёт flex-контейнер. |
grid | Создаёт grid-контейнер. |
| Свойство | Смысл |
|---|---|
background-color | Цвет фона. |
background-image | Фоновое изображение. |
background-repeat | Повторять ли фон. |
background-position | Положение фонового изображения. |
background-size | Размер фонового изображения: например cover или contain. |
border | Краткая запись рамки: ширина, стиль, цвет. |
border-radius | Скругление углов. |
box-shadow | Тень блока. |
| Свойство | Смысл |
|---|---|
font-family | Семейство шрифта. |
font-size | Размер шрифта. |
font-weight | Толщина: например 400, 700, bold. |
font-style | Наклон: например italic. |
text-align | Горизонтальное выравнивание текста. |
text-decoration | Линии текста: подчёркивание, зачёркивание, отсутствие линии. |
line-height | Высота строки, расстояние между строками. |
letter-spacing | Расстояние между буквами. |
text-shadow | Тень текста. |
margin: 0 auto центрирует блочный элемент по горизонтали, если у него задана ширина меньше контейнера.
+ justify-content выравнивает по главной оси, align-items - по поперечной. Значение align-items по умолчанию - stretch.
flex-grow отвечает за рост, flex-shrink - за сжатие, flex-basis - за базовый размер.
Grid создаётся через display: grid. grid-template-columns задаёт столбцы, grid-template-rows - строки. fr - доля свободного места. repeat() сокращает повтор, minmax() задаёт минимум и максимум.
display: flex или inline-flex.flex-direction.flex-directionНаправление главной оси: row, column, обратные варианты.justify-contentРаспределение элементов по главной оси.align-itemsВыравнивание элементов по поперечной оси.flex-wrapРазрешает или запрещает перенос элементов на новую строку.| Свойство | Смысл |
|---|---|
flex-grow | Как элемент забирает свободное место. |
flex-shrink | Как элемент сжимается при нехватке места. |
flex-basis | Базовый размер до распределения свободного места. |
order | Порядок отображения элемента. |
align-self | Индивидуальное выравнивание одного элемента по поперечной оси. |
display: grid.frДоля свободного пространства.gapРасстояние между строками и столбцами..grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: auto minmax(200px, 1fr);
+ gap: 16px;
+}
+