Echolot
Запросы

Настройки запроса

Выбирайте для запроса версию HTTP, перенаправления, cookie, распаковку, проверку TLS, тайм-аут и отправку как есть, а также настраивайте прокси и сертификаты.

Вкладка Настройки определяет, как запрос путешествует: какую версию HTTP использовать, следовать ли перенаправлениям, хранить ли cookie, проверять ли сертификаты и сколько он может длиться. Прокси и сертификаты задаются для всего рабочего пространства или приложения — ниже на этой странице.

Вкладка «Настройки» запроса: «Отправка как есть», версия HTTP «Автоматически» с пояснением, «Проверять TLS-сертификаты», «Следовать перенаправлениям» с «Максимум перенаправлений» 10, cookie, «Распаковывать ответы» и «Тайм-аут» 60 с

Вкладка «Настройки»

ПараметрПо умолчаниюЧто делает
Отправка как естьВыкл.Отправляет ровно те заголовки, что на вкладке Заголовки, ничего не добавляя.
Версия HTTPАвтоматическиАвтоматически, HTTP/1.1, HTTP/2 или HTTP/3.
Проверять TLS-сертификатыВкл.Проверяет сертификат сервера для адресов https://.
Следовать перенаправлениямВкл.Следует ответам 3xx, не более Максимум перенаправлений.
Максимум перенаправлений10От 1 до 50.
Отправлять и сохранять cookieВкл.Отправляет cookie, которые хранилище окна держит для этого адреса, и сохраняет те, что устанавливает ответ.
Распаковывать ответыВкл.Запрашивает сжатые ответы и декодирует их.
Тайм-аут60 сВремя, которое может занять весь обмен: от 1 секунды до часа с шагом 5 секунд.

В файле запроса сохраняются только те параметры, которые вы изменили. Вкладка показывает точку, если какой-либо параметр отличается от значения по умолчанию, и называется Настройки (как есть), пока включена отправка как есть. Восстановить значения по умолчанию возвращает все параметры.

В файле запроса настройки выглядят так:

[settings]
http-version = "http2"
follow-redirects = false
timeout = 10.0

Версия HTTP

ВыборЧто отправляет Echolot
АвтоматическиHTTP/2, если его предлагает сервер, иначе HTTP/1.1. Когда сервер предложил HTTP/3 (заголовком Alt-Svc), последующие запросы к нему используют HTTP/3 и возвращаются к TCP, если подключиться не удалось.
HTTP/1.1Только HTTP/1.1.
HTTP/2Только HTTP/2: поверх TLS или по обычному http:// с предварительным знанием (h2c).
HTTP/3Только HTTP/3 поверх QUIC.

У HTTP/3 есть ограничения:

  • Нужна macOS 27 или новее. На более старом Mac вкладка сообщает об этом, а запрос с HTTP/3 отправить нельзя; Автоматически остаётся на HTTP/2 и HTTP/1.1.
  • Только адреса https://.
  • Без прокси (включая системный), без пользовательских файлов CA и без клиентских сертификатов. Запрос с HTTP/3, которому нужно что-то из этого, отклоняется с указанием причины. При Автоматически такие запросы остаются на TCP.
  • Отправку как есть с HTTP/3 использовать нельзя.

При Автоматически, когда ответ предлагает HTTP/3, его карточка с подробностями показывает Предложен HTTP/3. Если подключение QUIC для следующего запроса не удалось, Echolot отправляет его по TCP, забывает предложение, а карточка объясняет почему. Дважды ничего не отправляется.

Ещё два случая переключают версии сами:

  • NTLM требует HTTP/1.1. При Автоматически запросы NTLM идут по HTTP/1.1; при HTTP/2 или HTTP/3 они отклоняются.
  • Когда сервер сбрасывает запрос HTTP/2 с HTTP_1_1_REQUIRED, Echolot с этого момента говорит с этим сервером по HTTP/1.1. Запрос, который безопасно повторить, сразу отправляется снова по HTTP/1.1; любой другой запрос останавливается с ошибкой об этом и при повторной отправке уходит по HTTP/1.1.

Карточка с подробностями ответа показывает использованную версию рядом с версией TLS.

Перенаправления

При включённом Следовать перенаправлениям Echolot следует ответам 301, 302, 303, 307 и 308 на адреса http:// и https://:

  • 303 превращается в GET (а HEAD остаётся HEAD) без тела.
  • 301 и 302 превращают POST в GET, как браузеры.
  • 307 и 308 сохраняют метод и тело.

Каждый переход записывается. Карточка с подробностями показывает 3 перенаправления (или сколько их); нажмите, чтобы увидеть статус, метод, адрес и время каждого перехода и конечный адрес. Попробуйте на Echo › Follow redirects в Alpenglow.

Перенаправление на другой источник отбрасывает ваши учётные данные: заголовки Authorization и Cookie, заголовки API-ключей, заголовки с секретом, подписи (Digest, AWS, Hawk, EdgeGrid, NTLM) и клиентский сертификат. См. Учётные данные остаются со своим источником.

Если Следовать перенаправлениям выключено, ответ 3xx и есть ответ.

Cookie

У каждого окна есть хранилище cookie. При включённом Отправлять и сохранять cookie запрос отправляет cookie из хранилища, подходящие его адресу, а cookie, которые устанавливает ответ, попадают в хранилище. Выключите для запроса, который не должен ни отправлять, ни сохранять cookie.

Вкладка Cookie ответа показывает, что было Отправлен с запросом, что Установлен ответом и что Хранится в этом окне. Удалите один cookie его кнопкой или все через Очистить все. См. Ответы.

Хранилище следует правилам браузера: ответ не может установить cookie для всего публичного суффикса вроде .com или .co.uk. Попробуйте Echo › Set a cookie в Alpenglow, а затем любой другой запрос к demo.echolot.dev.

Распаковка ответов

При включённом Распаковывать ответы Echolot отправляет Accept-Encoding: gzip, deflate, br, zstd (если вы не задали этот заголовок сами) и декодирует ответы gzip, deflate, Brotli и Zstandard. Вкладка Тело показывает декодированное тело; байты в том виде, как они пришли, остаются на вкладке Передача, а меню сохранения тела предлагает Сохранить закодированное тело…. Карточка с подробностями сообщает, например, br, 12 KB → 48 KB.

Выключите, чтобы увидеть ответ точно так, как его сжал сервер, или чтобы не отправлять заголовок Accept-Encoding.

Проверка сертификатов TLS

Оставьте включённой, если только вы не тестируете сервер, сертификату которого ваш Mac не доверяет и вы не можете добавить его CA. При выключенной проверке карточка с подробностями показывает оранжевый открытый замок, а её всплывающая панель сообщает Проверка сертификата выключена.

Лучше для частного CA доверять ему для этого хоста: см. Сертификаты.

Тайм-аут

Тайм-аут — это общее время, которое может занять обмен, от подключения до последнего байта. Когда оно заканчивается, запрос останавливается с Время ожидания запроса истекло, а соединение закрывается.

Отправка как есть

Отправка как есть нужна, чтобы отправить запрос байт в байт так, как вы его написали, в том числе некорректный, и проверить, как с ним справится сервер. Echolot не добавляет заголовки, которые обычно добавляет к каждому запросу (Host, User-Agent, Accept, Accept-Encoding, Cookie, Content-Length и обрамление), и не проверяет, что запрос составлен правильно. В разделе АВТОМАТИЧЕСКИЕ вкладка Заголовки сообщает Исходный режим: Echolot не добавляет заголовков, отправляются только указанные выше.

Чтобы запрос отправлял только ваши заголовки, также установите для Авторизации значение Без авторизации и напишите собственный Content-Type, если телу он нужен. Отправка как есть пишет HTTP/1.1, поэтому с HTTP/3 её использовать нельзя.

Повторы

Echolot держит соединения открытыми и использует их повторно, что экономит время DNS, подключения и TLS; в этом случае карточка с подробностями пишет Повторно использованное соединение. Иногда сервер закрывает оставленное открытым соединение как раз в тот момент, когда запрос уходит. Тогда:

  • Запрос, который безопасно повторить, отправляется снова по новому соединению: GET, HEAD, OPTIONS, TRACE, PUT или DELETE либо любой запрос с заголовком Idempotency-Key. Карточка с подробностями сообщает, что он был отправлен снова.
  • Любой другой запрос (например, POST без Idempotency-Key) не отправляется снова, потому что сервер мог его выполнить. Он останавливается с Соединение закрылось до получения ответа; сервер мог выполнить запрос.

В остальных случаях Echolot никогда не повторяет запросы.

Прокси

По умолчанию запросы идут через прокси, выбранный в Настройки › Сеть:

ПроксиЗначение
Системные настройкиПрокси HTTP, HTTPS и SOCKS из Системные настройки › Сеть с их исключениями. Автоматическая настройка прокси (PAC) не используется.
НетКаждый запрос подключается напрямую.
ВручнуюПрокси HTTP, HTTPS (TLS до прокси) или SOCKS5, например http://proxy:3128 или socks5://host:1080, с необязательными именем пользователя и паролем (хранятся в Связке ключей) и хостами, к которым нужно обращаться напрямую, в поле Напрямую к (localhost, *.internal).

Рабочее пространство может задать собственный прокси, который передаётся вместе с ним коллегам и инструменту командной строки:

  1. Откройте Настройки рабочего пространства… в переключателе рабочих пространств внизу боковой панели.
  2. Выберите вкладку Прокси и выключите Использовать настройку прокси приложения.
  3. Выберите Системные настройки, Переменные окружения (HTTPS_PROXY…) (читает HTTPS_PROXY, HTTP_PROXY и NO_PROXY), Нет или Вручную.
  4. Для Вручную заполните Прокси (принимает переменные, например {{proxy}}), Имя пользователя и Пароль, а также Напрямую к. Пароль запишите как секретную переменную, {{proxy_password}}: файлы рабочего пространства никогда не хранят секретов. Для пароля, введённого как есть, предлагается Переместить в Связку ключей.

HTTP/3 никогда не идёт через прокси. См. Рабочие пространства.

Сертификаты

Для хоста, который использует частный центр сертификации или требует клиентский сертификат (mutual TLS), добавьте правило в рабочем пространстве:

  1. Откройте Настройки рабочего пространства… и выберите вкладку Сертификаты.
  2. Нажмите Добавить хост и введите хост, например api.example.com, или *.internal для всех поддоменов.
  3. Рядом с Доверять CA нажмите Выбрать… и выберите один или несколько файлов PEM. Им доверяют в дополнение к системным.
  4. Для клиентского сертификата выберите файл рядом с Клиентский сертификат: файл PEM или .p12 (.pfx). Для сертификата PEM, в файле которого нет ключа, выберите также файл Закрытый ключ.
  5. Если у ключа или .p12 есть парольная фраза, запишите её как секретную переменную в Парольная фраза, например {{p12_passphrase}}.

Учитывается первое правило, подходящее хосту. Файлы внутри рабочего пространства сохраняются как пути относительно него, так что правило работает для всех, у кого есть рабочее пространство. Сертификаты каждого правила используются только для его хоста: перенаправление на другой хост никогда не предъявит клиентский сертификат первого.

Версия из Mac App Store

Версия из App Store может читать только файлы, которые вы выбрали. Файлы CA, клиентские сертификаты и ключи, которые вы выбираете здесь, остаются доступными для последующих отправок. Правило, созданное коллегой и указывающее на файлы вне рабочего пространства, требует, чтобы вы один раз дали приложению эти файлы: отправка останавливается, а область ответа предлагает Разрешить доступ….

Сравнить версии

Настройки на уровне приложения

Прокси — единственная настройка запроса со значением по умолчанию на уровне приложения (Настройки › Сеть). Все остальные настройки для каждого запроса начинаются со значений по умолчанию из таблицы выше, а файл запроса хранит то, что вы изменили. Чтобы изменить настройки сразу для многих запросов, выберите их в боковой панели и используйте Изменить N запросов… для их заголовков, параметров и авторизации либо отредактируйте файлы.

На этой странице