TelenkovDmitry 1 year ago
parent
commit
1cb0cb5e1c

+ 16 - 75
.obsidian/workspace.json

@@ -8,77 +8,18 @@
         "type": "tabs",
         "children": [
           {
-            "id": "c9913f0e0e49b6d3",
+            "id": "8529ecaefd41dcd0",
             "type": "leaf",
             "state": {
               "type": "markdown",
               "state": {
-                "file": "Список литературы.md",
-                "mode": "source",
-                "source": false
-              }
-            }
-          },
-          {
-            "id": "373e1716d5aba023",
-            "type": "leaf",
-            "state": {
-              "type": "markdown",
-              "state": {
-                "file": "hardcore web development/5-6-7 Internet.md",
-                "mode": "source",
-                "source": false
-              }
-            }
-          },
-          {
-            "id": "2f8b433f866fad6e",
-            "type": "leaf",
-            "state": {
-              "type": "markdown",
-              "state": {
-                "file": "hardcore web development/5-6-7 Internet.md",
-                "mode": "source",
-                "source": false
-              }
-            }
-          },
-          {
-            "id": "02794159e0215561",
-            "type": "leaf",
-            "state": {
-              "type": "markdown",
-              "state": {
-                "file": "hardcore web development/5-6-7 Internet.md",
-                "mode": "source",
-                "source": false
-              }
-            }
-          },
-          {
-            "id": "a845d980f7abc708",
-            "type": "leaf",
-            "state": {
-              "type": "release-notes",
-              "state": {
-                "currentVersion": "1.5.12"
-              }
-            }
-          },
-          {
-            "id": "9482d5a564931fbc",
-            "type": "leaf",
-            "state": {
-              "type": "markdown",
-              "state": {
-                "file": "hardcore web development/5-6-7 Internet.md",
+                "file": "hardcore web development/9. Сессии, cookies, безопасность.md",
                 "mode": "source",
                 "source": false
               }
             }
           }
-        ],
-        "currentTab": 5
+        ]
       }
     ],
     "direction": "vertical"
@@ -144,7 +85,7 @@
             "state": {
               "type": "backlink",
               "state": {
-                "file": "hardcore web development/5-6-7 Internet.md",
+                "file": "hardcore web development/9. Сессии, cookies, безопасность.md",
                 "collapseAll": false,
                 "extraContext": false,
                 "sortOrder": "alphabetical",
@@ -176,20 +117,23 @@
   },
   "left-ribbon": {
     "hiddenItems": {
-      "switcher:Open quick switcher": false,
-      "graph:Open graph view": false,
-      "canvas:Create new canvas": false,
-      "command-palette:Open command palette": false,
-      "markdown-importer:Open format converter": false
+      "switcher:Меню быстрого перехода": false,
+      "graph:Граф": false,
+      "canvas:Создать новый холст": false,
+      "command-palette:Открыть палитру команд": false,
+      "markdown-importer:Импорт Markdown-файлов": false
     }
   },
-  "active": "9482d5a564931fbc",
+  "active": "8529ecaefd41dcd0",
   "lastOpenFiles": [
+    "hardcore web development/4. Linux.md",
+    "Разное.md",
+    "common.md",
+    "hardcore web development/9. Сессии, cookies, безопасность.md",
+    "hardcore web development/8. HTTP.md",
+    "hardcore web development/5-6-7 Internet.md",
     "hardcore web development/SSH how to.md",
     "TODO.md",
-    "hardcore web development/5-6-7 Internet.md",
-    "Разное.md",
-    "hardcore web development/4. Linux.md",
     "linux/linux common.md",
     "Linux",
     "Список литературы.md",
@@ -211,13 +155,10 @@
     "linux/Raspberry Pi 3 Model B v1.2.md",
     "linux/Tmux.md",
     "bt67xx/common.md",
-    "BT7000/BT-7000 Artery.md",
     "Pasted image 20240415124521.png",
     "Pasted image 20240415124210.png",
     "Pasted image 20240415123611.png",
     "Pasted image 20240415122028.png",
-    "common.md",
-    "2024-02-22.md",
     "Golang",
     "git_rsa.pub",
     "git_rsa",

+ 57 - 0
hardcore web development/8. HTTP.md

@@ -0,0 +1,57 @@
+<h6>HTTP/0.9, HTTP/1.0, HTTP/1.1</h6>
+Здесь мы обсуждаем версии HTTP/0.9, HTTP/1.0, HTTP/1.1, а также затрагиваем вопросы HTTP/2.
+
+В HTTP/0.9 все запросы были однострочными, например, такими;
+
+```
+GET /index.html
+```
+
+В HTTP/1.0 появились заголовки запроса и ответа, в частности, заголовок `Content-Type`.
+
+Упоминается сайт [Хабр](https://habr.com/ru/feed/).
+
+HTTP/1.1 поддерживает повторное использование соединения, то есть соединение не обрубается после выполнения первого HTTP-запроса:
+
+```
+nc google.com 80
+HEAD / HTTP/1.1
+```
+
+В то же соединение можно после первого запроса отправить второй запрос:
+
+```
+HEAD /wowwow HTTP/1.1
+```
+
+Для выхода жмём `CTRL`+`C`.
+
+Также в HTTP/1.1 появился обязательный заголовок `HOST`:
+
+```
+nc app.salesbeat.pro 80
+HEAD / HTTP/1.1
+
+# ответ статусом 400, тк запрос без заголовка HOST
+
+HEAD / HTTP/1.1
+HOST: app.salesbeat.pro
+
+# ответ статусом 301 на https://app.salesbeat.pro, запрос уже корректный
+
+HEAD / HTTP/1.1
+HOST: course.to.digital
+
+# ответ статусом 301 на https://course.to.digital
+# хотя домен, «к которому подключались» был app.salesbeat.pro.
+# Подключение идёт по IP сервера, домен здесь только для выяснения IP
+```
+<h6>Проблемы HTTP 1.1</h6>
+Для получения страницы браузеру необходимо отправить большое количество запросов. Отправка каждого запроса занимает определенное время. Для ускорения получения данных браузер может использовать до 6 соединений, чтобы получать данные параллельно. Но это решение не является оптимальным. 
+Так же для сокращения количества запросов некоторые данные, к примеру картинки, могут передаваться в одном запросе.
+Сохраняется проблема большого количества одинаковых заголовков в запросах.
+<h6>HTTP 2</h6>
+Данные передаются в бинарном формате. Реализовано сжатие HTTP заголовков. Контент бьется на части и передается одним потоком. Браузер может установить приоритет для некоторых данных, чтобы сервер отдавал их в первую очередь.
+<h6>HTTP 3</h6>
+Работает поверх UDP, использую протокол QUIC
+

+ 13 - 0
hardcore web development/9. Сессии, cookies, безопасность.md

@@ -0,0 +1,13 @@
+<h6>Аутентификация и авторизация</h6>
+`Аутенификация` - проверка подлинности пары логин-пароль.
+`Авторизация` - проверка прав на определенные действия.
+<h6>Хеш-функции</h6>
+Упоминаются алгоритмы хеширования: MD5, SHA-256, SHA-512.
+Инструмент онлайн-хеширования SHA-256: [https://crypt-online.ru/crypts/sha256/](https://crypt-online.ru/crypts/sha256/).
+
+Хеш SHA-256 от строки привет:
+```
+e58f1e8c55fa105bdd3f40e5037eb0b039b5998d52c05e6cd98878dd2da5cab2
+```
+
+В консоли есть утилита `sha256sum`, которая считает SHA256.