HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <h2>Содержание</h2>
1 <h2>Содержание</h2>
2 <ul><li><a>Chapter 2: HTTP 1.0</a></li>
2 <ul><li><a>Chapter 2: HTTP 1.0</a></li>
3 <li><a>Chapter 3: HTTP 1.1</a></li>
3 <li><a>Chapter 3: HTTP 1.1</a></li>
4 <li><a>Chapter 4: Тело HTTP-запроса</a></li>
4 <li><a>Chapter 4: Тело HTTP-запроса</a></li>
5 <li><a>Chapter 5: Отправка форм</a></li>
5 <li><a>Chapter 5: Отправка форм</a></li>
6 <li><a>Chapter 7: Передача данных query string</a></li>
6 <li><a>Chapter 7: Передача данных query string</a></li>
7 <li><a>Chapter 8: Перенаправления</a></li>
7 <li><a>Chapter 8: Перенаправления</a></li>
8 <li><a>Chapter 9: Базовая аутентификация</a></li>
8 <li><a>Chapter 9: Базовая аутентификация</a></li>
9 <li><a>Chapter 10: Базовая аутентификация</a></li>
9 <li><a>Chapter 10: Базовая аутентификация</a></li>
10 </ul><h2>Chapter 2: HTTP 1.0</h2>
10 </ul><h2>Chapter 2: HTTP 1.0</h2>
11 <p>Для взаимодействия с ВЭБ-сервером нам необходимо к нему подключиться,</p>
11 <p>Для взаимодействия с ВЭБ-сервером нам необходимо к нему подключиться,</p>
12 <p>telnet [ip] [port]</p>
12 <p>telnet [ip] [port]</p>
13 <p>далее общение идет через текстовой протокол HTTP</p>
13 <p>далее общение идет через текстовой протокол HTTP</p>
14 <h2>Chapter 3: HTTP 1.1</h2>
14 <h2>Chapter 3: HTTP 1.1</h2>
15 <ul><li>Помимо обязательной строки<strong>querry line (GET / HTTP/1.0)</strong>добавляется еще одна дополнительная строка<strong>host: hexlet.io</strong></li>
15 <ul><li>Помимо обязательной строки<strong>querry line (GET / HTTP/1.0)</strong>добавляется еще одна дополнительная строка<strong>host: hexlet.io</strong></li>
16 <li>Введено понятие Keep-alive, позволяющее поддерживать постоянное tcp\ip соединение после одного запроса</li>
16 <li>Введено понятие Keep-alive, позволяющее поддерживать постоянное tcp\ip соединение после одного запроса</li>
17 <li>для ручного закрытия tcp/ip запроса юзаем заголовок<strong>connection: close</strong></li>
17 <li>для ручного закрытия tcp/ip запроса юзаем заголовок<strong>connection: close</strong></li>
18 </ul><h2>Chapter 4: Тело HTTP-запроса</h2>
18 </ul><h2>Chapter 4: Тело HTTP-запроса</h2>
19 <ul><li>для формирования тела HTTP запроса/ответа необходимо использовать дополнительные заголовки</li>
19 <ul><li>для формирования тела HTTP запроса/ответа необходимо использовать дополнительные заголовки</li>
20 </ul><ol><li>Content-Length: 218(в байтах)</li>
20 </ul><ol><li>Content-Length: 218(в байтах)</li>
21 <li>Content-Type: text/plain (тип данных)</li>
21 <li>Content-Type: text/plain (тип данных)</li>
22 </ol><h2>Chapter 5: Отправка форм</h2>
22 </ol><h2>Chapter 5: Отправка форм</h2>
23 <ul><li>Для отправки форм используем:<strong>Content-Type: application/x-www-form-urlencoded</strong>Формата Get req: admin=Vasya&amp;pass=567dfs, можно юзать закодированные символы =<strong>%3D</strong></li>
23 <ul><li>Для отправки форм используем:<strong>Content-Type: application/x-www-form-urlencoded</strong>Формата Get req: admin=Vasya&amp;pass=567dfs, можно юзать закодированные символы =<strong>%3D</strong></li>
24 </ul><h2>Chapter 7: Передача данных query string</h2>
24 </ul><h2>Chapter 7: Передача данных query string</h2>
25 <ul><li>GET /?key=value HTTP/1.1 пример query-запроса в заголовке</li>
25 <ul><li>GET /?key=value HTTP/1.1 пример query-запроса в заголовке</li>
26 </ul><h2>Chapter 8: Перенаправления</h2>
26 </ul><h2>Chapter 8: Перенаправления</h2>
27 <ul><li>302/301 коды - это перенаправление в локацию указанную как заголовок<strong>Location: /</strong></li>
27 <ul><li>302/301 коды - это перенаправление в локацию указанную как заголовок<strong>Location: /</strong></li>
28 </ul><h2>Chapter 9: Базовая аутентификация</h2>
28 </ul><h2>Chapter 9: Базовая аутентификация</h2>
29 <ul><li>401 - ошибка базовой Аутентификации</li>
29 <ul><li>401 - ошибка базовой Аутентификации</li>
30 <li>Заголовок для Аутентификации: Authorization: Basic ":" | base64</li>
30 <li>Заголовок для Аутентификации: Authorization: Basic ":" | base64</li>
31 </ul><h2>Chapter 10: Базовая аутентификация</h2>
31 </ul><h2>Chapter 10: Базовая аутентификация</h2>
32 <ul><li>2 типа печенек: Сессионные - удаляются при закрытии браузера. Постоянные - устанавливаются с помощью заголовков<strong>set-cookie.</strong></li>
32 <ul><li>2 типа печенек: Сессионные - удаляются при закрытии браузера. Постоянные - устанавливаются с помощью заголовков<strong>set-cookie.</strong></li>
33 <li>MAX-AGE=2592000 - кол-во миллисекунд до удаления куки</li>
33 <li>MAX-AGE=2592000 - кол-во миллисекунд до удаления куки</li>
34 <li>Уникальность куки определяется тремя параметрами key (имя куки), domain и path. Это значит, что если какую-то куку нужно переустановить, например, поменять время её жизни, то при следующем запросе в set-cookie эти параметры должны совпадать. Если хотя бы один из них отличается, то будет установлена новая кука.</li>
34 <li>Уникальность куки определяется тремя параметрами key (имя куки), domain и path. Это значит, что если какую-то куку нужно переустановить, например, поменять время её жизни, то при следующем запросе в set-cookie эти параметры должны совпадать. Если хотя бы один из них отличается, то будет установлена новая кука.</li>
35 </ul>
35 </ul>