Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
networks:http-request [2023/09/30 18:20] werwolf [URL] |
networks:http-request [2023/09/30 18:30] (текущий) werwolf [Утилита cURL] |
||
|---|---|---|---|
| Строка 16: | Строка 16: | ||
| - Сервер обрабатывает запрос и возвращает клиенту ресурс, который был запрошен. | - Сервер обрабатывает запрос и возвращает клиенту ресурс, который был запрошен. | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image-1.png?1436x606|коммуникация устройств}} | + | {{:networks:fetch.png |}} |
| Схема коммуникации устройств по HTTP-протоколу. | Схема коммуникации устройств по HTTP-протоколу. | ||
| Строка 52: | Строка 52: | ||
| В примере ниже стартовая строка указывает, что в качестве метода используется GET, обращение будет произведено к ресурсу /index.html, по версии протокола HTTP/1.1: | В примере ниже стартовая строка указывает, что в качестве метода используется GET, обращение будет произведено к ресурсу /index.html, по версии протокола HTTP/1.1: | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image.png?1464x526|структурные элементы}}Основные структурные элементы URL. | + | {{:networks:fetch2.png |}} |
| + | |||
| + | Основные структурные элементы URL. | ||
| Разберемся с каждым из названных элементов подробнее. | Разберемся с каждым из названных элементов подробнее. | ||
| Строка 62: | Строка 64: | ||
| Ниже приведены наиболее используемые методы и их описание: | Ниже приведены наиболее используемые методы и их описание: | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image-2.png?1360x538|методы запроса}}Разберемся с каждым из названных элементов подробнее. | + | {{:networks:fetch3.png |}} |
| + | |||
| + | Разберемся с каждым из названных элементов подробнее. | ||
| |**Метод**|**Описание**| | |**Метод**|**Описание**| | ||
| Строка 83: | Строка 87: | ||
| **Host** указывает местоположение ресурса, в нем может быть как доменное имя, так и IP-адрес. | **Host** указывает местоположение ресурса, в нем может быть как доменное имя, так и IP-адрес. | ||
| - | **Port**, как можно догадаться, позволяет указать номер порта, по которому следует обратиться к серверу. Оно начинается с двоеточия (:), за которым следует номер порта. При отсутствии данного элемента номер порта будет выбран по умолчанию в соответствии с указанным значением **Scheme** (например, для http:// это будет порт 80). | + | **Port**, как можно догадаться, позволяет указать номер порта, по которому следует обратиться к серверу. Оно начинается с двоеточия (:), за которым следует номер порта. При отсутствии данного элемента номер порта будет выбран по умолчанию в соответствии с указанным значением **Scheme** (например, для %%http://%% это будет порт 80). |
| Далее следует поле **Path**. Оно указывает на ресурс, к которому производится обращение. Если данное поле не указано, то сервер в большинстве случаев вернет указатель по умолчанию (например index.html). | Далее следует поле **Path**. Оно указывает на ресурс, к которому производится обращение. Если данное поле не указано, то сервер в большинстве случаев вернет указатель по умолчанию (например index.html). | ||
| Строка 103: | Строка 107: | ||
| * Отсутствовала возможность так называемого мультиплексирования — механизма, позволяющего объединить несколько соединений в один поток данных. Приходилось открывать несколько соединений на сервере для обработки входящих запросов. | * Отсутствовала возможность так называемого мультиплексирования — механизма, позволяющего объединить несколько соединений в один поток данных. Приходилось открывать несколько соединений на сервере для обработки входящих запросов. | ||
| - | С выходом HTTP/2 было предложено следующее решение: HTTP/1.X-сообщения разбивались на так называемые фреймы, которые встраивались в поток данных. | + | С выходом %%HTTP/2%% было предложено следующее решение: %%HTTP/1.X-сообщения%% разбивались на так называемые фреймы, которые встраивались в поток данных. |
| Фреймы данных (тела сообщения) отделялись от фреймов заголовка, что позволило применять сжатие. Вместе с появлением потоков появился и ранее описанный механизм мультиплексирования — теперь можно было обойтись одним соединением для нескольких потоков. | Фреймы данных (тела сообщения) отделялись от фреймов заголовка, что позволило применять сжатие. Вместе с появлением потоков появился и ранее описанный механизм мультиплексирования — теперь можно было обойтись одним соединением для нескольких потоков. | ||
| Строка 147: | Строка 151: | ||
| - Пояснение — короткое текстовое описание к коду состояния. Используется исключительно для того, чтобы упростить понимание и восприятие человека при просмотре ответа. | - Пояснение — короткое текстовое описание к коду состояния. Используется исключительно для того, чтобы упростить понимание и восприятие человека при просмотре ответа. | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image2-1-1525x1079.png?1525x1079|строка состояния ответа}}\\ Так выглядит строка состояния ответа. | + | {{:networks:fetch4.png?700x500 |}} |
| + | |||
| + | Так выглядит строка состояния ответа. | ||
| ==== Коды состояния и текст статуса ==== | ==== Коды состояния и текст статуса ==== | ||
| Строка 191: | Строка 197: | ||
| HTTP является расширяемым протоколом, который предоставляет огромное количество возможностей, а также поддерживает передачу всевозможных типов файлов. Однако, вне зависимости от версии, у него есть один существенный недостаток, который можно заметить если перехватить отправленный HTTP-запрос: | HTTP является расширяемым протоколом, который предоставляет огромное количество возможностей, а также поддерживает передачу всевозможных типов файлов. Однако, вне зависимости от версии, у него есть один существенный недостаток, который можно заметить если перехватить отправленный HTTP-запрос: | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image8-1525x405.png?1525x405|данные http-запроса передаются в открытом виде}}Да, все верно: данные передаются в открытом виде. HTTP сам по себе не предоставляет никаких средств шифрования. | + | {{:networks:fetch5.png |}} |
| + | |||
| + | Да, все верно: данные передаются в открытом виде. HTTP сам по себе не предоставляет никаких средств шифрования. | ||
| Но как же тогда работают различные банковские приложения, интернет-магазины, сервисы оплаты услуг и прочие приложения, в которых циркулирует чувствительная информация пользователей? | Но как же тогда работают различные банковские приложения, интернет-магазины, сервисы оплаты услуг и прочие приложения, в которых циркулирует чувствительная информация пользователей? | ||
| Строка 201: | Строка 209: | ||
| Теперь если мы перехватим не HTTP , а HTTP**s**-запрос, то не увидим здесь ничего интересного: | Теперь если мы перехватим не HTTP , а HTTP**s**-запрос, то не увидим здесь ничего интересного: | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image10-1-1525x419.png?1525x419|шифрование данных в https}}Данные передаются в едином зашифрованном потоке, что делает невозможным получение учетных данных пользователей и прочей критической информации средствами обычного перехвата. | + | {{:networks:fetch6.png |}} |
| + | |||
| + | Данные передаются в едином зашифрованном потоке, что делает невозможным получение учетных данных пользователей и прочей критической информации средствами обычного перехвата. | ||
| [[https://selectel.ru/services/additional/firewall/|Повысьте безопасность на сетевых портах с Selectel]] [[https://selectel.ru/services/additional/firewall/|Три межсетевых экрана для любых потребностей бизнеса.]] | [[https://selectel.ru/services/additional/firewall/|Повысьте безопасность на сетевых портах с Selectel]] [[https://selectel.ru/services/additional/firewall/|Три межсетевых экрана для любых потребностей бизнеса.]] | ||
| Строка 224: | Строка 234: | ||
| После нажатия Enter сайт начнет загружаться, а открытая вкладка Network — заполняться различными элементами, начиная все больше напоминать приборную панель самолета. | После нажатия Enter сайт начнет загружаться, а открытая вкладка Network — заполняться различными элементами, начиная все больше напоминать приборную панель самолета. | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image4-1-1525x739.png?1525x739|вкладка network}}Не спешите пугаться. Это всего лишь список ресурсов, которые нужны для правильного отображения и работы сайта. | + | {{ :networks:fetch7.png?700x400 |}} |
| + | Не спешите пугаться. Это всего лишь список ресурсов, которые нужны для правильного отображения и работы сайта. | ||
| Нажав на любой из них, мы можем увидеть детали обработки отправленного запроса: | Нажав на любой из них, мы можем увидеть детали обработки отправленного запроса: | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image3-2-1525x876.png?1525x876|детали обработки запроса}}В данном запросе, например: | + | {{ :networks:fetch8.png?700x400 |}} |
| + | |||
| + | В данном запросе, например: | ||
| * URL, к которому было совершено обращение — https://selectel.ru/blog, | * URL, к которому было совершено обращение — https://selectel.ru/blog, | ||
| Строка 242: | Строка 255: | ||
| Для отправки запроса и получения ответа мы можем воспользоваться флагом -v и указанием URL того ресурса, который мы хотим получить. «Схему» HTTP-запроса можно увидеть на скрине ниже: | Для отправки запроса и получения ответа мы можем воспользоваться флагом -v и указанием URL того ресурса, который мы хотим получить. «Схему» HTTP-запроса можно увидеть на скрине ниже: | ||
| - | {{https://selectel.ru/blog/wp-content/uploads/2022/06/image1-1.jpg?1413x894|схема запроса}}После запуска утилита выполняет: | + | {{ :networks:fetch9.jpg?700x400 |}} |
| + | |||
| + | После запуска утилита выполняет: | ||
| * подключение к серверу, | * подключение к серверу, | ||