Files
SecondBrain/.obsidian/workspace.json
T
2026-06-04 09:06:53 +03:00

320 lines
105 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"main": {
"id": "5324373015726ba8",
"type": "split",
"children": [
{
"id": "4e9db25a7859d46d",
"type": "tabs",
"children": [
{
"id": "b338ee701498f876",
"type": "leaf",
"state": {
"type": "pdf",
"state": {
"file": "00 Inbox/00_базовые_понятия.pdf"
},
"icon": "lucide-file-text",
"title": "00_базовые_понятия"
}
},
{
"id": "3e242b36cec6a5ec",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/Подготовка к экзамену по Веб-Разработке.md",
"mode": "preview",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Подготовка к экзамену по Веб-Разработке"
}
}
],
"currentTab": 1
}
],
"direction": "vertical"
},
"left": {
"id": "a9c2d5e65288011a",
"type": "split",
"children": [
{
"id": "383cca303cf4b57d",
"type": "tabs",
"children": [
{
"id": "27e6486165131cfa",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": true
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "66079465678173e5",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "tag:#gym",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "c2541ce190da912e",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
},
{
"id": "673ce6e6c09cfc9c",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
}
]
}
],
"direction": "horizontal",
"width": 207
},
"right": {
"id": "38c591aa0966839e",
"type": "split",
"children": [
{
"id": "86a193b1d3159ff8",
"type": "tabs",
"children": [
{
"id": "06940eb960fc1db5",
"type": "leaf",
"pinned": true,
"state": {
"type": "terminal:terminal",
"state": {
"terminal:terminal": {
"cwd": "/home/ada/Documents/Vaults/SecondBrain",
"focus": false,
"profile": {
"args": [
"--login"
],
"executable": "/usr/bin/zsh",
"followTheme": true,
"name": "ZSH",
"platforms": {
"darwin": false,
"linux": true
},
"pythonExecutable": "python3",
"restoreHistory": true,
"rightClickAction": "copyPaste",
"successExitCodes": [
"0",
"SIGINT",
"SIGTERM"
],
"terminalOptions": {
"fontFamily": "FiraCode Nerd Font Mono",
"documentOverride": null
},
"type": "integrated",
"useWin32Conhost": false
},
"profileSourceId": "7004edff-76db-412f-95d3-5fd8e180d055",
"serial": {
"columns": 48,
"data": "\u001b[2m │ \u001b[38;2;166;227;161;22mimport re, yaml\r\n\u001b[39;2m │ … +65 lines\r\n └ Traceback (most recent call last):\r\n\u001b[0m \u001b[2m File \"<stdin>\", line 31, in <module>\r\n\u001b[0m \u001b[2m File \"<stdin>\", line 31, in <genexpr>\r\n\u001b[0m \u001b[2mAttributeError: 'tuple' object has no\r\n\u001b[0m \u001b[2mattribute 'name'\r\n\r\n────────────────────────────────────────────────\r\n\r\n• \u001b[0mВ скрипте анализа была ошибка в проверке\r\n кортежа, поправляю и повторяю.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpython\u001b[38;2;205;214;244m - \u001b[38;2;148;226;213m<<\u001b[38;2;166;227;161m'\u001b[38;2;203;166;247mPY\u001b[38;2;166;227;161m'\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mfrom pathlib import Path\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mimport re, yaml\r\n\u001b[39;2m │ … +66 lines\r\n └\r\n\u001b[0m \u001b[2mCONFLICT 00 Inbox/Краткая теория с важными\r\n … +107 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mwanted: Налогообложение в России\r\n\u001b[0m \u001b[2m -> no title/alias match\r\n\r\n────────────────────────────────────────────────\r\n\r\n• \u001b[0mПо совпадениям: 84 из 110 «без оригинала» уже\r\n имеют нормальные версии в архиве/новых папках,\r\n но содержимое отличается метаданными/ссылками.\r\n Для 26 совпадения нет, проверяю их как\r\n потенциально удалённые или новые.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'Linux - MOC\\|Kubernetes -\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mMOC\\|VLAN\\|Router-on-a-Stick\\|База\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mинвестора\\|Налогообложение в России\\|\r\n\u001b[39;2m │ … +4 lines\r\n └ 20 matches in 1F:\r\n\r\n … +27 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m| VLAN - Полная Настройка Cisco | stable ...\r\n\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'Linux\\|Kubernetes\\|VLAN\\|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mRouter-on-a-Stick\\|База инвестора\\|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mНалогообложение в России\\|Теория\r\n\u001b[39;2m │ … +5 lines\r\n └ 81 matches in 1F:\r\n\r\n … +35 lines (ctrl + t to view transcript)\r\n\r\n\u001b[0m \u001b[2m... +56\r\n\r\n\u001b[31;22m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput\r\n without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput\r\n without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput\r\n without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mdiff\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mu\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99 System/Archive/\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mSocialBase/02 Друзья/Михаил Никитин.md'\r\n\r\n\u001b[31;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mdiff\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mu\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming/Ruby/\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mRuby - массивы.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mProgramming/Ruby -\r\n\u001b[39;2m │ … +2 lines\r\n └ --- \"90 Library/Programming/Ruby/Ruby -\r\n\u001b[0m \u001b[2mмассивы.md\" 2026-06-03 14:03:15.701270400\r\n … +32 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m ## Создание массива\r\n\r\n\r\n\u001b[31;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mdiff\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mu\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Linux/Linux -\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mMOC.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Linux/\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mLinux.sync-conflict-20260603-110335-23DMR5\r\n\u001b[39;2m │ … +1 lines\r\n └ --- \"90 Library/Linux/Linux - MOC.md\"\r\n\u001b[0m \u001b[2m2026-06-03 14:03:27.356398900 +0300\r\n … +24 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m %% Begin Waypoint %%\r\n\u001b[0m \u001b[2m - [[Command Help]]\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Антихрупкость.sync-conflict-20260603-\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'Основы сетевых\\|Курс по\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mDevOps\\|Data Science с нуля\\|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mАнтихрупкость\\|Психология денег'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99\r\n\u001b[39;2m │ … +1 lines\r\n └ 1 matches in 1F:\r\n\r\n … +3 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mуправляема...\r\n\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99 System/Archive/04 Tools/\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mStudyTracker/Books'\r\n\u001b[39;2m └ Books.md 1.4K\r\n\r\n────────────────────────────────────────────────\r\n\r\n• \u001b[0mНашёл особый случай: индивидуальные\r\n \u001b[36mStudyTracker\u001b[0m-книги/курсы есть только как\r\n conflict-файлы, в архиве есть только MOC-\r\n страницы. Их удаление может потерять заметки с\r\n цитатами и прогрессом, поэтому вынесу это\r\n отдельным пунктом плана.\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m 03 Journal.sync-conflict-20260603-\r\n\u001b[2m \u001b[0m110335-\r\n 23DMR5O.md\u001b[2m, \u001b[0mCourses.md\u001b[2m, \u001b[0mBooks.md\r\n\r\n\u001b[2m• \u001b[0mUpdated Plan\r\n\u001b[2m └ \u001b[0m✔ \u001b[2;9mНайти sync-conflict файлы\r\n\u001b[0m ✔ \u001b[2;9mСопоставить с оригиналами и diff\r\n\u001b[0m □ \u001b[36;1mПредложить план разрешения\r\n\u001b[0m □ \u001b[2mПосле подтверждения внести правки и\r\n\u001b[0m \u001b[2mобновить INDEX\r\n\r\n────────────────────────────────────────────────\r\n\r\n• \u001b[0mНашёл \u001b[36m140\u001b[0m конфликтов.\r\n\r\n План разрешения:\r\n\r\n \u001b[94m1. \u001b[36mkeep-original\u001b[0m для \u001b[36m30\u001b[0m файлов, где оригинал\r\n существует.\r\n Конфликтные версии старее: старый \u001b[36mINDEX.md\r\n\u001b[0m вместо \u001b[36m99 System/INDEX.md\u001b[0m, старые\r\n wikilinks, старый frontmatter.\r\n\r\n \u001b[94m2. \u001b[0mУдалить конфликтные дубликаты старых путей\r\n для \u001b[36m97\u001b[0m файлов.\r\n Это в основном старые \u001b[36m04 Tools/...\u001b[0m, старые\r\n MOC без \u001b[36m- MOC\u001b[0m, старые \u001b[36mRuby - массивы\u001b[0m вне\r\n подпапки. Актуальные версии уже есть в \u001b[36m99\r\n\u001b[0m - \u001b[36m00 Inbox/Краткая теория с важными\r\n\u001b[0m \u001b[36mформулами по нечетким выводам.md\r\n\r\n\u001b[0m - \u001b[36m04 Tools/StudyTracker/Books/*.md\u001b[0m — 8\r\n\r\n \u001b[94m5. \u001b[0mОбновить \u001b[36m99 System/INDEX.md\u001b[0m.\r\n\r\n Подтверди: делать по этому плану?\r\n\r\n\u001b[2m─ Worked for 3m 36s ────────────────────────────\r\n\r\n\u001b[48;5;237;22m\u001b[48X\r\n\u001b[1;2m \u001b[22;22mдавай\r\n\r\n\u001b[0m\u001b[48X\r\n\u001b[31m■ Conversation interrupted - tell the model what\r\nto do differently. Something went wrong? Hit `/\r\nfeedback` to report the issue.\r\n\u001b[0mToken usage: total=78 141 input=68 979 (+ 1 043 840 cached) output=9 162 (reasoning 2 465)\r\n\u001b[38;5;76m\u001b[0m \u001b[32mcodex\r\n\u001b[0m󰖟 Proxy enabled (127.0.0.1:2080)\r\nWARNING: failed to clean up stale arg0 temp dirs: Permission denied (os error 13)\r\n\u001b[2m╭───────────────────────────────────────────────\r\n──╮\r\n│ \u001b[36;22m✨ Update available!\u001b[0m \u001b[1m0.135.0 -> 0.136.0\r\n\u001b[22;2m│\r\n│ \u001b[0mSee \u001b[36;4mhttps://github.com/openai/codex\u001b[0m for\r\n\u001b[2m│\r\n│ \u001b[0minstallation options.\r\n\u001b[2m│\r\n│\r\n│\r\n│ \u001b[0mSee full release notes:\r\n\u001b[2m│\r\n│ \u001b[36;4;22mhttps://github.com/openai/codex/releases/latest\u001b[39;24;2m │\r\n╰───────────────────────────────────────────────\r\n──╯\r\n\r\n╭────────────────────────────────────────────╮\r\n│ >_ \u001b[0mOpenAI Codex\u001b[2m (v0.135.0) │\r\n│ │\r\n│ model: \u001b[0mgpt-5.5 high\u001b[2m \u001b[36;22m/model\u001b[39;2m to change │\r\n│ directory: \u001b[0m~/Documents/Vaults/SecondBrain\u001b[2m │\r\n╰────────────────────────────────────────────╯\r\n\r\n\u001b[0m \u001b[1mTip:\u001b[0m Press Tab to queue a message when a task\r\n is running; otherwise it sends immediately\r\n (except \u001b[36m!\u001b[0m).\r\n\r\n\u001b[33m⚠ MCP client for `codex_apps` failed to start:\r\n\u001b[0m \u001b[33mMCP startup failed: handshaking with MCP\r\n\u001b[0m \u001b[33mserver failed: Send message error Transport\r\n\u001b[0m \u001b[33m[rmcp::transport::worker::WorkerTransport<rmcp\r\n\u001b[0m \u001b[33m::transport::streamable_http_client::Streamabl\r\n\u001b[0m \u001b[33meHttpClientWorker<codex_rmcp_client::http_clie\r\n\u001b[0m \u001b[33mnt_adapter::StreamableHttpClientAdapter>>]\r\n\u001b[0m \u001b[33merror: Client error: HTTP request failed:\r\n\u001b[0m \u001b[33mhttp/request failed: error sending request for\r\n\u001b[0m \u001b[33murl\r\n\u001b[0m \u001b[33m(https://chatgpt.com/backend-api/wham/apps),\r\n\u001b[0m \u001b[33mwhen send initialize request\r\n\r\n⚠ MCP startup incomplete (failed: codex_apps)\r\n\r\n\u001b[39;48;5;237m \u001b[47X\r\n\u001b[1m\u001b[22m \u001b[2mFind and fix a bug in @filename\r\n\u001b[0m * Restored history at Thu Jun 04 2026 08:56:43 GMT+0300 (Москва, стандартное время)\u001b[38;2;171;223;167mSecondBrain\r\n\r\n\u001b[38;5;76m\u001b[0m \u001b[32mcodex\r\n\u001b[0m󰖟 Proxy enabled (127.0.0.1:2080)\r\nWARNING: failed to clean up stale arg0 temp dirs: Permission denied (os error 13)\r\n\u001b[2m│ \u001b[36;4;22mhttps://github.com/openai/codex/releases/latest\u001b[39;24;2m │\r\n╰───────────────────────────────────────────────\r\n──╯\r\n│ >_ \u001b[1;22mOpenAI Codex\u001b[22;2m (v0.135.0) │\r\n│ │\r\n\u001b[48;5;238;22m тесте) и ссылку на заметку с подробным\u001b[8X\r\n раскрытием темы\r\n Притом, цель - сделать html/pdf файл с\r\n оглавлением по темам, оглавление переносит на\r\n самом низу), и в ней есть ссылка обратно на\r\n коротку заметку\r\n\r\n\u001b[0m\u001b[48X\r\n\u001b[31m■ Conversation interrupted - tell the model what\r\nto do differently. Something went wrong? Hit `/\r\nfeedback` to report the issue.\r\n\r\n\u001b[39;48;5;238m\u001b[48X\r\n каждой теме сделать краткий конспект (прям\r\n самое важное для темы, что могут спросить в\r\n тесте) и ссылку на заметку с подробным\r\n раскрытием темы\r\n Притом, цель - сделать html/pdf файл с\r\n оглавлением по темам, оглавление переносит на\r\n блок с краткой информацией, а в нем ссылка на\r\n подробную заметку (подробные заметки идут в\r\n самом низу), и в ней есть ссылка обратно на\r\n коротку заметку. Делаем файлик для подготовки\r\n к эзамену (информация по блоку 2 и дальше уже\r\n есть, блок 1 как раз новая лекция вот эта)\r\n\r\n\u001b[0m\u001b[48X\r\n\u001b[2m• \u001b[0mСначала прочитаю индекс, файл подготовки и\r\n извлеку текст из PDF, чтобы план был\r\n конкретным. Правки пока не вношу: это массовый\r\n ingest/workflow, после плана дождусь\r\n подтверждения.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpwd\r\n\u001b[39;2m └ /home/ada/Documents/Vaults/SecondBrain\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Подготовка к экзамену по Веб-\r\n\u001b[2m \u001b[0mРазработке.md\u001b[2m,\r\n\u001b[0m INDEX.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"00 Inbox\"\r\n\u001b[39;2m └ 00_базовые_понятия.pdf 967.5K\r\n\u001b[0m \u001b[2mПодготовка к экзамену по Веб-Разработке.md\r\n\u001b[0m \u001b[2m7.5K\r\n\r\n────────────────────────────────────────────────\r\n\r\n• \u001b[0mФайл подготовки содержит 12 блоков; блок 1\r\n закрывается новой PDF-лекцией, блоки 2+ уже\r\n есть как темы экзамена. Сейчас извлеку текст\r\n PDF и найду существующие заметки по HTML/CSS/\r\n Django, чтобы понять, что создавать, а что\r\n только связать.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"HTML|CSS|Django|HTTP|IPv4|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mIPv6|DNS|OAuth|Flex|Grid|QuerySet|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mModelForm|URL|URI\"\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"99 System/INDEX.md\"\r\n\u001b[39;2m └ 9 matches in 5F:\r\n\r\n … +23 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mформы)]] | Основы HTML (структура, табли...\r\n\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdfinfo\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"00 Inbox/00_базовые_понятия.pdf\"\r\n\u001b[39;2m └ Title: Презентация PowerPoint\r\n\u001b[0m \u001b[2mAuthor: Natalie Lukianova\r\n … +17 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mOptimized: no\r\n\u001b[0m \u001b[2mPDF version: 1.7\r\n\r\n └ Базовые механизмы взаимодействия в\r\n\u001b[0m \u001b[2m веб-среде\r\n … +893 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m42\r\n\u001b[0m \r\n\r\n\r\n\u001b[2m────────────────────────────────────────────────\r\n\r\n• \u001b[0mPDF — 42 слайда про базовые механизмы веб-\r\n среды: WWW, HTTP, запрос/ответ, HTTPS, HTTP/3,\r\n IP/DNS/NAT/localhost, порты, URI/URL/URN,\r\n auth/OAuth. Теперь проверю шаблон и\r\n существующие заметки, чтобы не плодить дубли.\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Base Note.md\u001b[2m, \u001b[0mОсновы, селекторы и\r\n\u001b[2m \u001b[0mблочная\r\n модель.md\u001b[2m, \u001b[0mМодели и ORM.md\u001b[2m, \u001b[0mЭкзамен\r\n - Веб-\r\n ориентированные системы.md\u001b[2m, \u001b[0mОсновы HTML\r\n (структура, таблицы, формы).md\u001b[2m,\r\n\u001b[0m Представления, шаблоны и CBV.md\u001b[2m, \u001b[0mРабота\r\n с\r\n формами и CUD.md\u001b[2m, \u001b[0mАдаптивность, Flexbox\r\n и\r\n Grid.md\r\n\r\n\u001b[2m────────────────────────────────────────────────\r\n\r\n• \u001b[0mПлан перед массовыми правками:\r\n\r\n \u001b[94m1. \u001b[0mИзвлечь PDF \u001b[36m00_базовые_понятия.pdf\u001b[0m и\r\n оформить блок 1 в подробные материалы по\r\n темам: IP/IPv4/IPv6, TCP, подсети/NAT/\r\n localhost, DNS, HTTP/HTTPS/HTTP/3, порты,\r\n URI/URL/URN, идентификация/аутентификация/\r\n авторизация, OAuth 2.0.\r\n\r\n \u001b[94m2. \u001b[0mИспользовать существующие заметки как\r\n \u001b[36mАдаптивность, Flexbox и Grid\u001b[0m, \u001b[36mDjango:\r\n\u001b[0m \u001b[36mМодели и ORM\u001b[0m, \u001b[36mDjango: Представления,\r\n\u001b[0m \u001b[36mшаблоны и CBV\u001b[0m, \u001b[36mDjango: Формы и CUD\u001b[0m.\r\n\r\n \u001b[94m3. \u001b[0mСоздать один файл подготовки в \u001b[36m90 Library/\r\n\u001b[0m якорями внутри HTML: кратко → подробно,\r\n подробно → обратно.\r\n\r\n \u001b[94m4. \u001b[0mСгенерировать PDF из HTML, если в системе\r\n есть рабочий HTML→PDF инструмент; если нет\r\n — оставлю HTML и явно скажу, чем PDF не\r\n собрался.\r\n\r\n \u001b[94m5. \u001b[0mОбновить \u001b[36m99 System/INDEX.md\u001b[0m.\r\n \u001b[94m6. \u001b[0mАрхивировать исходники из Inbox в \u001b[36m99\r\n\u001b[0m \u001b[36mSystem/Archive/\u001b[0m после обработки.\r\n\r\n Подтверди, и я внесу правки.\r\n\r\n\u001b[2m─ Worked for 1m 07s ────────────────────────────\r\n\r\n\u001b[48;5;238;22m\u001b[48X\r\n\u001b[1;2m \u001b[22;22mНу давай, да\r\n\r\n\u001b[0m\u001b[48X\r\n\u001b[2m• \u001b[0mПриступаю к правкам. Сначала сохраню\r\n извлечённый текст PDF во временный файл и\r\n проверю структуру лекции, затем создам/дополню\r\n заметки и соберу HTML.\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m IP-адрес.md\u001b[2m, \u001b[0mDNS.md\u001b[2m, \u001b[0mTCP vs UDP.md\r\n\u001b[2m │ \u001b[38;2;166;227;161;22mСетевые порты|URI|URL|URN|Идентификация|\r\n\u001b[39;2m │ … +2 lines\r\n └ rg: /tmp/web_base_lecture.txt: IO error for\r\n\u001b[0m \u001b[2moperation on /tmp/web_base_lecture.txt: No\r\n … +3 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mСетевые порты|URI|URL|URN|Идентификация|\r\n\u001b[0m \u001b[2mOAuth|Маска|Подсети|Адресация)'\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"00\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mInbox/00_базовые_понятия.pdf\"\u001b[38;2;205;214;244m /tmp/\r\n\u001b[39;2m │ \u001b[38;2;205;214;244;22mweb_base_lecture.txt\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[0m раньше, чем появился временный текст PDF.\r\n Повторяю извлечение последовательно и дальше\r\n буду опираться на готовый файл.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"00\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mInbox/00_базовые_понятия.pdf\"\u001b[38;2;205;214;244m /tmp/\r\n\u001b[39;2m │ \u001b[38;2;205;214;244;22mweb_base_lecture.txt\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\u001b[38;2;205;214;244m /tmp/web_base_lecture.txt\r\n\u001b[39;2m └ /tmp/web_base_lecture.txt 74.5K\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"^ *(Протокол|HTTP|HTTPS|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mHTTP/3|IP|IPv4|IPv6|NAT|DNS|Localhost|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mСетевые порты|URI|URL|URN|Идентификация|\r\n\u001b[39;2m │ … +2 lines\r\n └ 29 matches in 6F:\r\n\r\n … +41 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 0:\r\n\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m web_base_lecture.txt\r\n\r\n\u001b[2m────────────────────────────────────────────────\r\n\u001b[0m уже была в vault, но HTTP/HTTPS/HTTP3, URI/\r\n URL/URN, порты, NAT и OAuth лучше добавить\r\n отдельными заметками, чтобы у подготовки были\r\n точные подробные цели.\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m web_base_lecture.txt\r\n\r\n\u001b[31;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m find \u001b[38;2;166;227;161m\"90 Library/Networking\"\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mmaxdepth\r\n\u001b[39;2m │ \u001b[38;2;205;214;244;22m3\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mtype\u001b[38;2;205;214;244m f\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mname\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"*NAT*\"\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mo\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mname\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"*HTTP*\"\r\n\u001b[39;2m │ \u001b[38;2;147;153;178;22m-\u001b[38;2;235;160;172mo\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mname\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"*URI*\"\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mo\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mname\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"*OAuth*\"\r\n\u001b[39;2m └ rtk: rtk find does not support compound\r\n\u001b[0m \u001b[2mpredicates or actions (e.g. -not, -exec).\r\n\u001b[0m \u001b[2mUse `find` directly.\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"NAT|HTTP|HTTPS|HTTP/3|OAuth|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mURI|URL|URN|Сетевые порты|Порты|localhost|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mLocalhost|Аутентификация|Авторизация|\r\n\u001b[39;2m │ … +2 lines\r\n └ 71 matches in 21F:\r\n\r\n … +113 lines (ctrl + t to view transcript)\r\n\r\n\u001b[0m \u001b[2m... +2\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m IPv6.md\u001b[2m, \u001b[0mNAT.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m git status\u001b[38;2;147;153;178m --\u001b[38;2;235;160;172mshort\r\n\u001b[39;2m └ M .obsidian/workspace.json\r\n\r\n────────────────────────────────────────────────\r\n\r\n• \u001b[0mСоздаю новые подробные заметки только для тем\r\n блока 1, которых не хватало как отдельных\r\n точек входа. Для уже существующих HTML/CSS/\r\n Django/сетевых заметок буду ссылаться на них,\r\n без попутного переписывания.\r\n\r\n\u001b[2m• \u001b[1;22mEdited\u001b[0m 6 files (\u001b[32m+409\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[2m └ \u001b[0m90 Library/Networking/OAuth 2.0.md (\u001b[32m+47\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[37X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: OAuth 2.0\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtype: concept\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mtags: [web, security, oauth, authorizati\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mon]\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-06-04\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-06-04\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[00_базовые_понятия.pdf]]\"\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244maliases:\r\n\u001b[39m \u001b[2m10 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m OAuth 2\r\n\u001b[39m \u001b[2m11 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m OAuth 2.0\r\n\u001b[39m \u001b[2m12 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m13 \u001b[32;22m+\u001b[38;2;205;214;244m# OAuth 2.0\r\n\u001b[39m \u001b[2m14 \u001b[32;22m+\r\n\u001b[39m \u001b[2m15 \u001b[32;22m+\u001b[38;2;205;214;244mOAuth 2.0 — протокол авторизации, которы\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mй позволяет приложению получить ограниче\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mнный доступ к ресурсам пользователя на д\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mругом сервисе без передачи пароля пользо\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mвателя этому приложению.\r\n\u001b[39m \u001b[2m16 \u001b[32;22m+\r\n\u001b[39m \u001b[2m17 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mГде встречается\r\n\u001b[39m \u001b[2m18 \u001b[32;22m+\r\n\u001b[39m \u001b[2m19 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m вход на сайт через Google, GitHub, VK\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mили другую внешнюю учётную запись;\r\n\u001b[39m \u001b[2m20 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m мобильное приложение получает доступ к\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m данным в облаке;\r\n\u001b[39m \u001b[2m21 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m бот или интеграция получает доступ к A\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mPI сервиса.\r\n\u001b[39m \u001b[2m22 \u001b[32;22m+\r\n\u001b[39m \u001b[2m23 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mГлавная идея\r\n\u001b[39m \u001b[2m24 \u001b[32;22m+\r\n\u001b[39m \u001b[2m25 \u001b[32;22m+\u001b[38;2;205;214;244mПользователь подтверждает доступ на стор\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mоне сервиса-владельца данных. Клиентское\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m приложение получает токен и использует\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mего для запросов к API.\r\n\u001b[39m \u001b[2m26 \u001b[32;22m+\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\u001b[38;2;205;214;244mПароль пользователя при этом остаётся у\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mсервиса-источника, а стороннее приложени\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mе получает только ограниченное разрешени\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mе.\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\r\n\u001b[39m \u001b[2m29 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mУчастники\r\n\u001b[39m \u001b[2m30 \u001b[32;22m+\r\n\u001b[39m \u001b[2m31 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Resource Owner — владелец ресурса, обы\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mчно пользователь.\r\n\u001b[39m \u001b[2m32 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Client — приложение, которому нужен до\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mступ.\r\n\u001b[39m \u001b[2m33 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Authorization Server — сервер, который\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m выдаёт токены.\r\n\u001b[39m \u001b[2m34 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Resource Server — API, который принима\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mет токен и отдаёт защищённые данные.\r\n\u001b[39m \u001b[2m35 \u001b[32;22m+\r\n\u001b[39m \u001b[2m36 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mТокены\r\n\u001b[39m \u001b[2m37 \u001b[32;22m+\r\n\u001b[39m \u001b[2m38 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Access token — используется для доступ\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mа к API.\r\n\u001b[39m \u001b[2m39 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Refresh token — используется для получ\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mения нового access token без повторного\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mвхода пользователя.\r\n\u001b[39m \u001b[2m40 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Scope — набор разрешений, ограничивающ\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mий действия клиента.\r\n\u001b[39m \u001b[2m41 \u001b[32;22m+\r\n\u001b[39m \u001b[2m42 \u001b[32;22m+\u001b[38;2;205;214;244mOAuth 2.0 — про авторизацию. Сам по себе\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m он не обязан доказывать личность пользо\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mвателя как протокол аутентификации; для\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mвхода поверх OAuth обычно используют Ope\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mnID Connect.\r\n\u001b[39m \u001b[2m43 \u001b[32;22m+\r\n\u001b[39m \u001b[2m44 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСвязи\r\n\u001b[39m \u001b[2m45 \u001b[32;22m+\r\n\u001b[39m \u001b[2m46 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[Веб-аутентификация и авторизация]]\r\n\u001b[39m \u001b[2m47 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[HTTP, HTTPS и HTTP3]]\r\n\u001b[0m\u001b[48X\r\n\u001b[2m └ \u001b[0m90 Library/Networking/Веб-аутентификация и\r\n\u001b[2m \u001b[0mавторизация.md (\u001b[32m+44\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[37X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: Веб-аутентификация и авторизация\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtype: concept\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mtags: [web, security, authentication, au\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mthorization, oauth]\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-06-04\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-06-04\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[00_базовые_понятия.pdf]]\"\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244maliases:\r\n\u001b[39m \u001b[2m10 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Идентификация, аутентификация и автори\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mзация\r\n\u001b[39m \u001b[2m11 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Веб-аутентификация\r\n\u001b[39m \u001b[2m12 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m13 \u001b[32;22m+\u001b[38;2;205;214;244m# Веб-аутентификация и авторизация\r\n\u001b[39m \u001b[2m14 \u001b[32;22m+\r\n\u001b[39m \u001b[2m15 \u001b[32;22m+\u001b[38;2;205;214;244mИдентификация, аутентификация и авториза\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mция — разные этапы контроля доступа.\r\n\u001b[39m \u001b[2m16 \u001b[32;22m+\r\n\u001b[39m \u001b[2m17 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mТермины\r\n\u001b[39m \u001b[2m18 \u001b[32;22m+\r\n\u001b[39m \u001b[2m19 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Идентификация — пользователь сообщает,\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m кто он: логин, email, номер телефона, I\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mD.\r\n\u001b[39m \u001b[2m20 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Аутентификация — система проверяет, чт\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mо пользователь действительно тот, за ког\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mо себя выдаёт: пароль, одноразовый код,\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mключ, сертификат.\r\n\u001b[39m \u001b[2m21 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Авторизация — система решает, что уже\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mаутентифицированному пользователю разреш\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mено делать.\r\n\u001b[39m \u001b[2m22 \u001b[32;22m+\r\n\u001b[39m \u001b[2m23 \u001b[32;22m+\u001b[38;2;205;214;244mКоротко: идентификация отвечает на вопро\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mс \"кто ты?\", аутентификация — \"докажи\",\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mавторизация — \"что тебе можно?\".\r\n\u001b[39m \u001b[2m24 \u001b[32;22m+\r\n\u001b[39m \u001b[2m25 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mHTTP-аутентификация\r\n\u001b[39m \u001b[2m26 \u001b[32;22m+\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\u001b[38;2;205;214;244mРаспространённые схемы:\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\r\n\u001b[39m \u001b[2m29 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mBasic\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — логин и пароль передаются ка\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mк base64-строка. Base64 не является шифр\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mованием, поэтому Basic нельзя использова\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mть без HTTPS для чувствительных данных.\r\n\u001b[39m \u001b[2m30 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mDigest\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — схема с хешированием, истор\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mически безопаснее Basic, но сейчас испол\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mьзуется реже.\r\n\u001b[39m \u001b[2m31 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mBearer\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — клиент передаёт токен, обыч\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mно в заголовке \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mAuthorization\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m32 \u001b[32;22m+\r\n\u001b[39m \u001b[2m33 \u001b[32;22m+\u001b[38;2;205;214;244mПример Bearer:\r\n\u001b[39m \u001b[2m34 \u001b[32;22m+\r\n\u001b[39m \u001b[2m35 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mhttp\r\n\u001b[39m \u001b[2m36 \u001b[32;22m+\u001b[38;2;205;214;244mAuthorization: Bearer eyJhbGciOi...\r\n\u001b[39m \u001b[2m37 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m38 \u001b[32;22m+\r\n\u001b[39m \u001b[2m39 \u001b[32;22m+\u001b[38;2;205;214;244mBearer-токен даёт доступ тому, кто им вл\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mадеет. Поэтому токены нужно хранить акку\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mратно, ограничивать срок их жизни и умет\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mь отзывать.\r\n\u001b[39m \u001b[2m40 \u001b[32;22m+\r\n\u001b[39m \u001b[2m41 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСвязи\r\n\u001b[39m \u001b[2m42 \u001b[32;22m+\r\n\u001b[39m \u001b[2m43 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[OAuth 2.0]]\r\n\u001b[39m \u001b[2m44 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[HTTP, HTTPS и HTTP3]]\r\n\u001b[0m\u001b[48X\r\n\u001b[2m └ \u001b[0m90 Library/Networking/Подсети и маска\r\n\u001b[2m \u001b[0mподсети.md (\u001b[32m+66\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[37X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: Подсети и маска подсети\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtype: concept\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mtags: [network, networking, subnet, ipv4\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m]\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-06-04\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-06-04\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[00_базовые_понятия.pdf]]\"\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244maliases:\r\n\u001b[39m \u001b[2m10 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Маска подсети\r\n\u001b[39m \u001b[2m11 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Подсети\r\n\u001b[39m \u001b[2m12 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m13 \u001b[32;22m+\u001b[38;2;205;214;244m# Подсети и маска подсети\r\n\u001b[39m \u001b[2m14 \u001b[32;22m+\r\n\u001b[39m \u001b[2m15 \u001b[32;22m+\u001b[38;2;205;214;244mМаска подсети показывает, какая часть IP\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mv4-адреса относится к сети, а какая — к\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mхосту внутри этой сети.\r\n\u001b[39m \u001b[2m16 \u001b[32;22m+\r\n\u001b[39m \u001b[2m17 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mГлавное\r\n\u001b[39m \u001b[2m18 \u001b[32;22m+\r\n\u001b[39m \u001b[2m19 \u001b[32;22m+\u001b[38;2;205;214;244mIPv4-адрес состоит из 32 бит. Без маски\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mнельзя однозначно понять, где заканчивае\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mтся номер сети и начинается номер хоста.\r\n\u001b[39m \u001b[2m20 \u001b[32;22m+\r\n\u001b[39m \u001b[2m21 \u001b[32;22m+\u001b[38;2;205;214;244mПример:\r\n\u001b[39m \u001b[2m22 \u001b[32;22m+\r\n\u001b[39m \u001b[2m23 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mtext\r\n\u001b[39m \u001b[2m24 \u001b[32;22m+\u001b[38;2;205;214;244mIP: 192.168.123.132\r\n\u001b[39m \u001b[2m25 \u001b[32;22m+\u001b[38;2;205;214;244mМаска: 255.255.255.0\r\n\u001b[39m \u001b[2m26 \u001b[32;22m+\u001b[38;2;205;214;244mCIDR: /24\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\r\n\u001b[39m \u001b[2m29 \u001b[32;22m+\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/24\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m означает, что первые 24 бита — сет\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mь, оставшиеся 8 бит — хосты.\r\n\u001b[39m \u001b[2m30 \u001b[32;22m+\r\n\u001b[39m \u001b[2m31 \u001b[32;22m+\u001b[38;2;205;214;244mДля примера выше:\r\n\u001b[39m \u001b[2m32 \u001b[32;22m+\r\n\u001b[39m \u001b[2m33 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m адрес сети: \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m192.168.123.0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m;\r\n\u001b[39m \u001b[2m34 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m часть хоста: \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m0.0.0.132\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m;\r\n\u001b[39m \u001b[2m35 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m маска: \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m255.255.255.0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m36 \u001b[32;22m+\r\n\u001b[39m \u001b[2m37 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mCIDR\r\n\u001b[39m \u001b[2m38 \u001b[32;22m+\r\n\u001b[39m \u001b[2m39 \u001b[32;22m+\u001b[38;2;205;214;244mCIDR-запись \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/N\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m показывает количество е\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mдиниц в маске.\r\n\u001b[39m \u001b[2m40 \u001b[32;22m+\r\n\u001b[39m \u001b[2m41 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m CIDR \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Маска \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Типичный смысл \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m42 \u001b[32;22m+\u001b[38;2;147;153;178m|------|-------|----------------|\r\n\u001b[39m \u001b[2m43 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/32\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m255.255.255.255\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m один конкр\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mетный IPv4-адрес \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m44 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/24\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m255.255.255.0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m 256 адресов\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mв подсети \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m45 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/16\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m255.255.0.0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m крупная сеть \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m46 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/8\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m255.0.0.0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m очень крупная сет\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mь \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m47 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m/0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m0.0.0.0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m весь IPv4-интернет,\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m маршрут по умолчанию \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m48 \u001b[32;22m+\r\n\u001b[39m \u001b[2m49 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mПриватные IPv4-диапазоны\r\n\u001b[39m \u001b[2m50 \u001b[32;22m+\r\n\u001b[39m \u001b[2m51 \u001b[32;22m+\u001b[38;2;205;214;244mЭти адреса не маршрутизируются напрямую\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mв публичном интернете и часто используют\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mся вместе с NAT:\r\n\u001b[39m \u001b[2m52 \u001b[32;22m+\r\n\u001b[39m \u001b[2m53 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m10.0.0.0/8\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m;\r\n\u001b[39m \u001b[2m54 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m172.16.0.0/12\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m;\r\n\u001b[39m \u001b[2m55 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m192.168.0.0/16\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m56 \u001b[32;22m+\r\n\u001b[39m \u001b[2m57 \u001b[32;22m+\u001b[38;2;205;214;244mLoopback-диапазон:\r\n\u001b[39m \u001b[2m58 \u001b[32;22m+\r\n\u001b[39m \u001b[2m59 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m127.0.0.0/8\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, чаще всего \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m127.0.0.1\u001b[38;2;147;153;178m`\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mкак \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mlocalhost\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m60 \u001b[32;22m+\r\n\u001b[39m \u001b[2m61 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСвязи\r\n\u001b[39m \u001b[2m62 \u001b[32;22m+\r\n\u001b[39m \u001b[2m63 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[IP-адрес]]\r\n\u001b[39m \u001b[2m64 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[IPv6]]\r\n\u001b[39m \u001b[2m65 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[NAT]]\r\n\u001b[39m \u001b[2m66 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[Сетевые порты]]\r\n\u001b[0m\u001b[48X\r\n\u001b[2m └ \u001b[0m90 Library/Networking/Протоколы/HTTP, HTTPS\r\n\u001b[2m \u001b[0mи HTTP3.md (\u001b[32m+123\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[36X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: HTTP, HTTPS и HTTP/3\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtype: concept\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mtags: [web, network, networking, protoc\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mols, http, https, http3]\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-06-04\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-06-04\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[00_базовые_понятия.pdf]]\"\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244maliases:\r\n\u001b[39m \u001b[2m 10 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTP, HTTPS и HTTP/3\r\n\u001b[39m \u001b[2m 11 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m 12 \u001b[32;22m+\u001b[38;2;205;214;244m# HTTP, HTTPS и HTTP/3\r\n\u001b[39m \u001b[2m 13 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 14 \u001b[32;22m+\u001b[38;2;205;214;244mHTTP (HyperText Transfer Protocol) — пр\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mикладной протокол для доступа к ресурса\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mм WWW. Клиент и сервер обмениваются отд\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mельными сообщениями: клиент отправляет\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mHTTP-запрос, сервер возвращает HTTP-отв\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mет.\r\n\u001b[39m \u001b[2m 15 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 16 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mГлавное\r\n\u001b[39m \u001b[2m 17 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 18 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTP сам по себе не хранит состояние\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mмежду запросами. Сессии поверх HTTP обы\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mчно поддерживаются через cookies или то\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mкены.\r\n\u001b[39m \u001b[2m 19 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTP/1.0 часто открывал новое TCP-сое\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mдинение на каждый обмен запросом и отве\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mтом.\r\n\u001b[39m \u001b[2m 20 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTP/1.1 добавил постоянные соединени\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mя и конвейерную обработку.\r\n\u001b[39m \u001b[2m 21 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTP/2 использует бинарные фреймы, сж\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mатие заголовков и мультиплексирование н\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mескольких потоков в одном TCP-соединени\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mи.\r\n\u001b[39m \u001b[2m 22 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTPS — это HTTP поверх TLS. Он защищ\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mает конфиденциальность, целостность и а\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mутентичность соединения.\r\n\u001b[39m \u001b[2m 23 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m HTTP/3 переносит семантику HTTP на QU\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mIC поверх UDP и уменьшает проблему head\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m-of-line blocking.\r\n\u001b[39m \u001b[2m 24 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 25 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mHTTP-запрос\r\n\u001b[39m \u001b[2m 26 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 27 \u001b[32;22m+\u001b[38;2;205;214;244mСтартовая строка запроса состоит из мет\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mода, цели запроса и версии протокола:\r\n\u001b[39m \u001b[2m 28 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 29 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mhttp\r\n\u001b[39m \u001b[2m 30 \u001b[32;22m+\u001b[38;2;205;214;244mGET /index.html HTTP/1.1\r\n\u001b[39m \u001b[2m 31 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m 32 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 33 \u001b[32;22m+\u001b[38;2;205;214;244mОсновные методы:\r\n\u001b[39m \u001b[2m 34 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 35 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Метод \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Что делает \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 36 \u001b[32;22m+\u001b[38;2;147;153;178m|-------|------------|\r\n\u001b[39m \u001b[2m 37 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mGET\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Получить ресурс; параметры ча\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mсто передаются в query string. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 38 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mPOST\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Отправить данные на сервер:\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mформа, JSON, файл. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 39 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mHEAD\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Получить только заголовки, к\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mак у \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mGET\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, без тела ответа. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 40 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mPUT\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Создать или полностью заменит\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mь ресурс. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 41 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mPATCH\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Частично изменить ресурс. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 42 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mDELETE\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Удалить ресурс. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 43 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mOPTIONS\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Узнать доступные методы/в\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mозможности сервера. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m 44 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 45 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mHTTP-сообщение\r\n\u001b[39m \u001b[2m 46 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 47 \u001b[32;22m+\u001b[38;2;205;214;244mИ запрос, и ответ имеют общую структуру\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m:\r\n\u001b[39m \u001b[2m 48 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 49 \u001b[32;22m+\u001b[38;2;205;214;244m1\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Стартовая строка.\r\n\u001b[39m \u001b[2m 50 \u001b[32;22m+\u001b[38;2;205;214;244m2\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Заголовки.\r\n\u001b[39m \u001b[2m 51 \u001b[32;22m+\u001b[38;2;205;214;244m3\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Пустая строка.\r\n\u001b[39m \u001b[2m 52 \u001b[32;22m+\u001b[38;2;205;214;244m4\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Необязательное тело.\r\n\u001b[39m \u001b[2m 53 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 54 \u001b[32;22m+\u001b[38;2;205;214;244mЗаголовок записывается как \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mИмя-Заголов\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mка: значение\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m. Имя не чувствительно к р\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mегистру.\r\n\u001b[39m \u001b[2m 55 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 56 \u001b[32;22m+\u001b[38;2;205;214;244mЧастые заголовки запроса:\r\n\u001b[39m \u001b[2m 57 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 58 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mHost\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — конкретный домен или IP, к к\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mоторому обращается клиент.\r\n\u001b[39m \u001b[2m 59 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mUser-Agent\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — сведения о клиенте: бр\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mаузер, ОС, версия.\r\n\u001b[39m \u001b[2m 60 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mAccept\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — какие типы данных клиент г\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mотов принять.\r\n\u001b[39m \u001b[2m 61 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mCookie\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — cookies клиента.\r\n\u001b[39m \u001b[2m 62 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mAuthorization\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — данные аутентификац\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mии, например Bearer-токен.\r\n\u001b[39m \u001b[2m 63 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 64 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mHTTP-ответ\r\n\u001b[39m \u001b[2m 65 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 66 \u001b[32;22m+\u001b[38;2;205;214;244mСтрока статуса ответа содержит версию п\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mротокола, код состояния и текстовое поя\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mснение:\r\n\u001b[39m \u001b[2m 67 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 68 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mhttp\r\n\u001b[39m \u001b[2m 69 \u001b[32;22m+\u001b[38;2;205;214;244mHTTP/1.1 200 OK\r\n\u001b[39m \u001b[2m 70 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m 71 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 72 \u001b[32;22m+\u001b[38;2;205;214;244mКлассы кодов:\r\n\u001b[39m \u001b[2m 73 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 74 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m1xx\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — информационные.\r\n\u001b[39m \u001b[2m 75 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m2xx\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — успешная обработка.\r\n\u001b[39m \u001b[2m 76 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m3xx\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — перенаправление.\r\n\u001b[39m \u001b[2m 77 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m4xx\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — ошибка клиента.\r\n\u001b[39m \u001b[2m 78 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m5xx\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — ошибка сервера.\r\n\u001b[39m \u001b[2m 79 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 80 \u001b[32;22m+\u001b[38;2;205;214;244mЧастые коды:\r\n\u001b[39m \u001b[2m 81 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 82 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m200 OK\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — запрос успешно обработан.\r\n\u001b[39m \u001b[2m 83 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m302 Found\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — временное перенаправлен\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mие.\r\n\u001b[39m \u001b[2m 84 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m400 Bad Request\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — некорректный запр\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mос.\r\n\u001b[39m \u001b[2m 85 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m403 Forbidden\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — доступ запрещён.\r\n\u001b[39m \u001b[2m 86 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m404 Not Found\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — ресурс не найден.\r\n\u001b[39m \u001b[2m 87 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m500 Internal Server Error\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — внутрен\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mняя ошибка сервера.\r\n\u001b[39m \u001b[2m 88 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 89 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mHTTPS\r\n\u001b[39m \u001b[2m 90 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 91 \u001b[32;22m+\u001b[38;2;205;214;244mHTTPS использует TLS поверх TCP-соедине\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mния. Порт по умолчанию — \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m443\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, у обычн\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mого HTTP — \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m80\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m 92 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 93 \u001b[32;22m+\u001b[38;2;205;214;244mБазовый смысл TLS:\r\n\u001b[39m \u001b[2m 94 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 95 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m сервер предъявляет сертификат;\r\n\u001b[39m \u001b[2m 96 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m клиент проверяет сертификат через цен\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mтр сертификации;\r\n\u001b[39m \u001b[2m 97 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m стороны согласуют ключи;\r\n\u001b[39m \u001b[2m 98 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m дальнейший трафик шифруется и защищае\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mтся от подмены.\r\n\u001b[39m \u001b[2m 99 \u001b[32;22m+\r\n\u001b[39m \u001b[2m100 \u001b[32;22m+\u001b[38;2;205;214;244mSSL — устаревшее название семейства про\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mтоколов, в современных системах фактиче\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mски используется TLS, но термин \"SSL-се\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mртификат\" всё ещё распространён.\r\n\u001b[39m \u001b[2m101 \u001b[32;22m+\r\n\u001b[39m \u001b[2m102 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mHTTP/3\r\n\u001b[39m \u001b[2m103 \u001b[32;22m+\r\n\u001b[39m \u001b[2m104 \u001b[32;22m+\u001b[38;2;205;214;244mHTTP/3 работает поверх QUIC, а QUIC раб\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mотает поверх UDP. QUIC объединяет надёж\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mную доставку, шифрование TLS 1.3 и упра\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mвление потоками.\r\n\u001b[39m \u001b[2m105 \u001b[32;22m+\r\n\u001b[39m \u001b[2m106 \u001b[32;22m+\u001b[38;2;205;214;244mКлючевые отличия:\r\n\u001b[39m \u001b[2m107 \u001b[32;22m+\r\n\u001b[39m \u001b[2m108 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m HTTP/2 \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m HTTP/3 \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m109 \u001b[32;22m+\u001b[38;2;147;153;178m|--------|--------|\r\n\u001b[39m \u001b[2m110 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Поверх TCP \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Поверх UDP/QUIC \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m111 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m TLS-хендшейк отдельно \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m TLS 1.3 встро\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mен в QUIC \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m112 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Потеря TCP-пакета может блокировать в\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mсе потоки \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Потеря пакета влияет только\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m на конкретный поток \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m113 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Соединение привязано к IP/порту \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m QUI\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mC поддерживает connection migration чер\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mез connection ID \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m114 \u001b[32;22m+\r\n\u001b[39m \u001b[2m115 \u001b[32;22m+\u001b[38;2;205;214;244mHTTP/3 не меняет смысл методов, заголов\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mков и кодов ответа. Меняется транспортн\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mый слой.\r\n\u001b[39m \u001b[2m116 \u001b[32;22m+\r\n\u001b[39m \u001b[2m117 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСвязи\r\n\u001b[39m \u001b[2m118 \u001b[32;22m+\r\n\u001b[39m \u001b[2m119 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[TCP vs UDP]]\r\n\u001b[39m \u001b[2m120 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[IP-адрес]]\r\n\u001b[39m \u001b[2m121 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[DNS]]\r\n\u001b[39m \u001b[2m122 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[URI, URL, URN]]\r\n\u001b[39m \u001b[2m123 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[Сетевые порты]]\r\n\u001b[0m\u001b[48X\r\n\u001b[2m └ \u001b[0m90 Library/Networking/Протоколы/URI, URL,\r\n\u001b[2m \u001b[0mURN.md (\u001b[32m+75\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[37X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: URI, URL, URN\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtype: concept\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mtags: [web, network, networking, uri, ur\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22ml, urn]\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-06-04\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-06-04\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[00_базовые_понятия.pdf]]\"\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244maliases:\r\n\u001b[39m \u001b[2m10 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m URI, URL, URN\r\n\u001b[39m \u001b[2m11 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m12 \u001b[32;22m+\u001b[38;2;205;214;244m# URI, URL, URN\r\n\u001b[39m \u001b[2m13 \u001b[32;22m+\r\n\u001b[39m \u001b[2m14 \u001b[32;22m+\u001b[38;2;205;214;244mURI, URL и URN — способы идентифицироват\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mь ресурс. Для экзамена важно различать:\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mURL указывает, где и как получить ресурс\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m; URN даёт устойчивое имя; URI — общее п\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mонятие.\r\n\u001b[39m \u001b[2m15 \u001b[32;22m+\r\n\u001b[39m \u001b[2m16 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mURL\r\n\u001b[39m \u001b[2m17 \u001b[32;22m+\r\n\u001b[39m \u001b[2m18 \u001b[32;22m+\u001b[38;2;205;214;244mURL (Uniform Resource Locator) — адрес р\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mесурса в сети и способ его получения.\r\n\u001b[39m \u001b[2m19 \u001b[32;22m+\r\n\u001b[39m \u001b[2m20 \u001b[32;22m+\u001b[38;2;205;214;244mСинтаксис:\r\n\u001b[39m \u001b[2m21 \u001b[32;22m+\r\n\u001b[39m \u001b[2m22 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mtext\r\n\u001b[39m \u001b[2m23 \u001b[32;22m+\u001b[38;2;205;214;244mсхема://хост:порт/путь?параметры#фрагмен\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mт\r\n\u001b[39m \u001b[2m24 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m25 \u001b[32;22m+\r\n\u001b[39m \u001b[2m26 \u001b[32;22m+\u001b[38;2;205;214;244mПример:\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mtext\r\n\u001b[39m \u001b[2m29 \u001b[32;22m+\u001b[38;2;205;214;244mhttps://home.mephi.ru/study_groups?level\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m=1&organization_id=1&term_id=20\r\n\u001b[39m \u001b[2m30 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m31 \u001b[32;22m+\r\n\u001b[39m \u001b[2m32 \u001b[32;22m+\u001b[38;2;205;214;244mКомпоненты:\r\n\u001b[39m \u001b[2m33 \u001b[32;22m+\r\n\u001b[39m \u001b[2m34 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m схема — чаще всего \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mhttp\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m или \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mhttps\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m;\r\n\u001b[39m \u001b[2m35 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m хост — домен или IP-адрес;\r\n\u001b[39m \u001b[2m36 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m порт — необязателен, если используется\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m порт по умолчанию;\r\n\u001b[39m \u001b[2m37 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m путь — расположение ресурса на сервере\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m;\r\n\u001b[39m \u001b[2m38 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m query string — параметры после \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m?\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m;\r\n\u001b[39m \u001b[2m39 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m фрагмент — часть документа после \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m#\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m,\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mчасто соответствует \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mid\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m HTML-элемента.\r\n\u001b[39m \u001b[2m40 \u001b[32;22m+\r\n\u001b[39m \u001b[2m41 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mURN\r\n\u001b[39m \u001b[2m42 \u001b[32;22m+\r\n\u001b[39m \u001b[2m43 \u001b[32;22m+\u001b[38;2;205;214;244mURN (Uniform Resource Name) — имя ресурс\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mа без указания его сетевого расположения\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m.\r\n\u001b[39m \u001b[2m44 \u001b[32;22m+\r\n\u001b[39m \u001b[2m45 \u001b[32;22m+\u001b[38;2;205;214;244mСинтаксис:\r\n\u001b[39m \u001b[2m46 \u001b[32;22m+\r\n\u001b[39m \u001b[2m47 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mtext\r\n\u001b[39m \u001b[2m48 \u001b[32;22m+\u001b[38;2;205;214;244murn:NID:NSS\r\n\u001b[39m \u001b[2m49 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m50 \u001b[32;22m+\r\n\u001b[39m \u001b[2m51 \u001b[32;22m+\u001b[38;2;205;214;244mПример:\r\n\u001b[39m \u001b[2m52 \u001b[32;22m+\r\n\u001b[39m \u001b[2m53 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mtext\r\n\u001b[39m \u001b[2m54 \u001b[32;22m+\u001b[38;2;205;214;244murn:uuid:d5aa821e-52bb-4f7e-a782-7662ed5\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22meaf5c\r\n\u001b[39m \u001b[2m55 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m56 \u001b[32;22m+\r\n\u001b[39m \u001b[2m57 \u001b[32;22m+\u001b[38;2;205;214;244mURN полезен, когда ресурс должен сохраня\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mть идентичность независимо от места хран\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mения. Пример: ISBN книги.\r\n\u001b[39m \u001b[2m58 \u001b[32;22m+\r\n\u001b[39m \u001b[2m59 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mURI\r\n\u001b[39m \u001b[2m60 \u001b[32;22m+\r\n\u001b[39m \u001b[2m61 \u001b[32;22m+\u001b[38;2;205;214;244mURI (Uniform Resource Identifier) — общи\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mй идентификатор ресурса. URI может быть\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mURL, URN или совмещать оба подхода.\r\n\u001b[39m \u001b[2m62 \u001b[32;22m+\r\n\u001b[39m \u001b[2m63 \u001b[32;22m+\u001b[38;2;205;214;244mСинтаксис:\r\n\u001b[39m \u001b[2m64 \u001b[32;22m+\r\n\u001b[39m \u001b[2m65 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mtext\r\n\u001b[39m \u001b[2m66 \u001b[32;22m+\u001b[38;2;205;214;244mсхема:[//[пользователь:пароль@]хост[:пор\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mт]][/]путь[?запрос][#фрагмент]\r\n\u001b[39m \u001b[2m67 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m68 \u001b[32;22m+\r\n\u001b[39m \u001b[2m69 \u001b[32;22m+\u001b[38;2;205;214;244mГлавное правило: все URL являются URI, н\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mо не все URI являются URL.\r\n\u001b[39m \u001b[2m70 \u001b[32;22m+\r\n\u001b[39m \u001b[2m71 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСвязи\r\n\u001b[39m \u001b[2m72 \u001b[32;22m+\r\n\u001b[39m \u001b[2m73 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[HTTP, HTTPS и HTTP3]]\r\n\u001b[39m \u001b[2m74 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[DNS]]\r\n\u001b[39m \u001b[2m75 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[IP-адрес]]\r\n\u001b[0m\u001b[48X\r\n\u001b[2m └ \u001b[0m90 Library/Networking/Сетевые порты.md (\u001b[32m+54\r\n\u001b[39;2m \u001b[31;22m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[37X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: Сетевые порты\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtype: concept\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mtags: [network, networking, ports, tcp,\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mudp, web]\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-06-04\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-06-04\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[00_базовые_понятия.pdf]]\"\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244maliases:\r\n\u001b[39m \u001b[2m10 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Сетевые порты\r\n\u001b[39m \u001b[2m11 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m12 \u001b[32;22m+\u001b[38;2;205;214;244m# Сетевые порты\r\n\u001b[39m \u001b[2m13 \u001b[32;22m+\r\n\u001b[39m \u001b[2m14 \u001b[32;22m+\u001b[38;2;205;214;244mСетевой порт — числовой идентификатор пр\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mоцесса или сервиса внутри одного IP-адре\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mса. IP-адрес указывает хост, порт указыв\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mает приложение на этом хосте.\r\n\u001b[39m \u001b[2m15 \u001b[32;22m+\r\n\u001b[39m \u001b[2m16 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mГлавное\r\n\u001b[39m \u001b[2m17 \u001b[32;22m+\r\n\u001b[39m \u001b[2m18 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Порт — число от \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m до \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m65535\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m19 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Порты используются транспортными прото\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mколами, прежде всего TCP и UDP.\r\n\u001b[39m \u001b[2m20 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m TCP-порт и UDP-порт с одинаковым номер\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mом не конфликтуют: это разные пространст\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mва портов.\r\n\u001b[39m \u001b[2m21 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m Для веба важно помнить: HTTP обычно ис\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mпользует TCP \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m80\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, HTTPS — TCP \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m443\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, ал\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mьтернативный HTTP часто \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m8080\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m22 \u001b[32;22m+\r\n\u001b[39m \u001b[2m23 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mДиапазоны\r\n\u001b[39m \u001b[2m24 \u001b[32;22m+\r\n\u001b[39m \u001b[2m25 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Диапазон \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Назначение \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m26 \u001b[32;22m+\u001b[38;2;147;153;178m|----------|------------|\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m0-1023\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Well-known/system ports. В\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mUnix/Linux для привязки к ним обычно нуж\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mны повышенные права. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m1024-49151\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Registered ports. Могут\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m быть зарегистрированы за службами. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m29 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m49152-65535\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Dynamic/private ports.\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m Обычно используются клиентскими приложе\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mниями временно. \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m30 \u001b[32;22m+\r\n\u001b[39m \u001b[2m31 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mЧастые порты\r\n\u001b[39m \u001b[2m32 \u001b[32;22m+\r\n\u001b[39m \u001b[2m33 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Порт \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m Сервис \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m34 \u001b[32;22m+\u001b[38;2;147;153;178m|------|--------|\r\n\u001b[39m \u001b[2m35 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m21\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m FTP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m36 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m22\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m SSH \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m37 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m25\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m SMTP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m38 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m53\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m DNS \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m39 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m80\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m HTTP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m40 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m110\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m POP3 \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m41 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m123\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m NTP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m42 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m143\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m IMAP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m43 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m443\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m HTTPS \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m44 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m993\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m IMAPS \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m45 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m3306\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m MySQL \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m46 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m3389\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m RDP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m47 \u001b[32;22m+\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m8080\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m альтернативный HTTP \u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m48 \u001b[32;22m+\r\n\u001b[39m \u001b[2m49 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСвязи\r\n\u001b[39m \u001b[2m50 \u001b[32;22m+\r\n\u001b[39m \u001b[2m51 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[HTTP, HTTPS и HTTP3]]\r\n\u001b[39m \u001b[2m52 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[TCP vs UDP]]\r\n\u001b[39m \u001b[2m53 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[IP-адрес]]\r\n\u001b[39m \u001b[2m54 \u001b[32;22m+\u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m [[NAT]]\r\n\u001b[0m\u001b[48X\r\n\u001b[2m────────────────────────────────────────────────\r\n\r\n• \u001b[0mНовые заметки блока 1 добавлены. Теперь\r\n собираю сам файл подготовки: оглавление ведёт\r\n к коротким карточкам, каждая карточка ведёт к\r\n подробному блоку внизу, а подробный блок\r\n возвращает обратно к соответствующему блоку\r\n кратких тем.\r\n\r\n•\u001b[1C\u001b[2mWorking\u001b[1C(3m 33s • esc to interrupt)\r\n\r\n\u001b[48;5;238;22m \u001b[47X\r\n\u001b[1m\u001b[22m \u001b[2mSummarize recent commits\r\n\u001b[22m \r\n\u001b[0m\u001b[2X\u001b[2C\u001b[38;2;246;226;183mgpt-5.5 high\u001b[39;2m · \u001b[38;2;171;223;167;22m~/Documents/Vaults/SecondBrain\u001b[1X\u001b[2A\u001b[45D\u001b[0m",
"rows": 34,
"scrollLine": -1
}
}
},
"pinned": true,
"icon": "terminal",
"title": "Terminal: ⠧ SecondBrain"
}
},
{
"id": "1ef10fc51fc1f1e1",
"type": "leaf",
"pinned": true,
"state": {
"type": "git-view",
"state": {},
"pinned": true,
"icon": "git-pull-request",
"title": "Source Control"
}
},
{
"id": "394fb6e28d09b8f3",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "All properties"
}
},
{
"id": "e51be669e29cd994",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "90 Library/Programming/Web/Основы HTML (структура, таблицы, формы).md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for Основы HTML (структура, таблицы, формы)"
}
},
{
"id": "86ea4ddeaafff092",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "90 Library/Programming/Ruby On Rails/Sidekiq - основа работы.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from Sidekiq - основа работы"
}
},
{
"id": "a0ffd3bace615787",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "00 Inbox/Экзамен - MOC.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of Экзамен - MOC"
}
}
]
}
],
"direction": "horizontal",
"width": 482
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"markdown-importer:Open format converter": false,
"random-note:Open random note": false,
"audio-recorder:Start/stop recording": false,
"bases:Create new base": false,
"omnisearch:Omnisearch": false,
"templater-obsidian:Templater": false,
"obsidian-git:Open Git source control": false,
"obsidian-excalidraw-plugin:New drawing": false,
"terminal:Open terminal": false,
"3d-graph-new:Global 3D Graph": false
}
},
"active": "06940eb960fc1db5",
"lastOpenFiles": [
"90 Library/Networking/OAuth 2.0.md",
"90 Library/Networking/Веб-аутентификация и авторизация.md",
"90 Library/Networking/Подсети и маска подсети.md",
"90 Library/Networking/Сетевые порты.md",
"90 Library/Networking/Протоколы/URI, URL, URN.md",
"90 Library/Networking/Протоколы/HTTP, HTTPS и HTTP3.md",
"00 Inbox/Подготовка к экзамену по Веб-Разработке.md",
"00 Inbox/00_базовые_понятия.pdf",
"99 System/Archive/Основные команды git.md",
"99 System/Archive/Подготовка к защите ЛР2.md",
"99 System/Archive/Подготовка к экзамену по Экономическому анализу.md",
"AGENTS.md",
"90 Library/Other/Сканер отпечатка пальцев.md",
"00 Inbox/Краткая теория с важными формулами по нечетким выводам.sync-conflict-20260603-140755-23DMR5O.md",
"90 Library/Programming/Web/Основы, селекторы и блочная модель.md",
"90 Library/Programming/Web/Адаптивность, Flexbox и Grid.md",
"90 Library/Programming/Python/Работа с формами и CUD.md",
"90 Library/Programming/Python/Представления, шаблоны и CBV.md",
"90 Library/Programming/Python/Модели и ORM.md",
"90 Library/Programming/Python/Базовый синтаксис и основы.md",
"04 Tools/🛠️ Неоконченные заметки.sync-conflict-20260603-110335-23DMR5O.md",
"04 Tools/SocialBase/04 Другие/Алина Шакурова.sync-conflict-20260603-110335-23DMR5O.md",
"04 Tools/StudyTracker/Books/Books.sync-conflict-20260603-110335-23DMR5O.md",
"90 Library/Finance/Инвестиции/Трейдинг.sync-conflict-20260603-110313-23DMR5O.md",
"90 Library/Machine Learning/Нейронные сети.sync-conflict-20260603-110321-23DMR5O.md",
"04 Tools/SocialBase/02 Друзья/Лика Вольфрам.sync-conflict-20260603-110335-23DMR5O.md",
"04 Tools/SocialBase/04 Другие/Эля Богатова.sync-conflict-20260603-110335-23DMR5O.md",
"04 Tools/StudyTracker/Courses",
"04 Tools/StudyTracker/Books",
"04 Tools/SocialBase/04 Другие",
"04 Tools/SocialBase/03 Коллеги",
"04 Tools/SocialBase/02 Друзья",
"04 Tools/SocialBase/01 Семья",
"04 Tools/StudyTracker",
"04 Tools/SocialBase",
"04 Tools",
"99 System/Cache/Pasted image 20260526204029.png",
"99 System/Cache/Pasted image 20260526203848.png",
"99 System/Cache/Pasted image 20260526203807.png",
"99 System/Cache/Pasted image 20260521134256.png",
"99 System/Cache/Pasted image 20260521134238.png",
"99 System/Cache/Pasted image 20260521134228.png",
"99 System/Cache/Pasted image 20260521134207.png",
"99 System/Cache/Pasted image 20260521133832.png",
"99 System/Cache/Pasted image 20260521133824.png",
"99 System/Cache/Pasted image 20260521133344.png",
"00 Inbox/Untitled.canvas"
]
}