Я работаю с командой над разработкой веб-сервиса и клиента, каждый из нас, конечно, работает на наших собственных машинах. Для простоты и согласованности мы используем похожие домены в коде и обновляем /etc/hosts
чтобы преобразовать эти домены в localhost.
- отлично работает для моего веб-браузера; время отклика быстро
- curl и wget занимают ~ 4 секунды для разрешения DNS перед успешным завершением запроса
Я нашел флаг --resolve
для curl, который разрешает задержку, но я также мог бы использовать 127.0.0.1
и определить заголовки, необходимые для получения того же эффекта.
с флагом (и обновленным файлом /etc/hosts
)
# /etc/hosts
...
127.0.0.1 mp-api.example.local
команда
curl -k -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total}\\n \
--resolve mp-api.example.local:8094:127.0.0.1 \
-H 'Host: mp-api.example.local:8094' \
'https://mp-api.example.local:8094/api/categories/tree.json'
с 127.0.0.1
curl -k -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total}\\n \
-H 'Host: mp-api.example.local:8094' \
'https://127.0.0.1:8094/api/categories/tree.json'
Каковы некоторые из причин задержки разрешения DNS для таких инструментов, как curl
и wget
? И каковы некоторые эффективные способы устранения неполадок, которые задерживают?