320 lines
105 KiB
JSON
320 lines
105 KiB
JSON
{
|
||
"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"
|
||
]
|
||
} |