wget не загружает файлы с кодом 304 Not Modified

Благодаря совету @AB относительно ведения журнала я смог провести еще несколько тестов, и вот результаты, а также ответы на мои собственные вопросы, в надежде, что это поможет другим людям, которые, как и я, не найдите что-нибудь в Интернете о состояниях SNATи DNATи/или их способности заменить ESTABLISHED,RELATEDдля сопоставления.

Итак, в умеренно загруженной домашней сети (пара хостов, выходящих в интернет по SNAT, а также несколько виртуальных машин, на которых размещены серверы (HTTP/HTTPS, SMTP, IMAP и т.д. и т.п. )общедоступны по DNAT ), за пять дней я не увидел ни строчки лога о пакете, который был бы в состоянии SNATили DNAT, а также ESTABLISHEDили RELATED.

Таким образом, ответ на вопрос "может ли пакет иметь состояние SNATили DNAT, но не иметь состояния ESTABLISHEDили RELATED" нет .

Поскольку я действительно беспокоился о том, что сопоставление с SNATили DNATвместо ESTABLISHED,RELATEDдля пропуска пакетов в мою локальную сеть может быть слишком разрешительным, поначалу это могло показаться обнадеживающим, но я обнаружил, что это не так. хорошая идея.

На самом деле, похоже, что это, наоборот, менее разрешающее :во время моих тестов с этими правилами, я увидел небольшое, но -не пренебрежимо малое количество пакетов в состоянии RELATED, которые были отброшены, в основном ICMP типа 3, коды 1 и 3 (соответственно хост назначения недоступен и порт назначения недоступен ), поступающие из Интернета и предназначенные для хостов внутри моего ЛВС. Другими словами (, и если я правильно понимаю сети ), мои хосты пытались установить какие-то подключения к Интернету, удаленные маршрутизаторы ответили, что подключение невозможно, и мой собственный хост-брандмауэр/маршрутизатор заблокировал эти ответы.. Это не может быть хорошо.

Таким образом, ответ на основной вопрос «Хорошая ли идея заменить ESTABLISHED,RELATEDна SNATили DNAT» снова нет .

0
19.09.2020, 17:40
1 ответ

304 Not Modified отправляется сервером в ответ на заголовок If-Modified-Since. Он должен сообщить клиенту, что копия, которая у него есть, актуальна. Этот заголовок, в свою очередь, отправляется wget, поскольку файл уже существует в выходном каталоге с некоторой меткой времени.

Таким образом, очевидный способ форсировать загрузку — начать с пустого выходного каталога.

У вас могут возникнуть проблемы, потому что вы используете --convert-links, а не --backup-converted, так как --convert-linksизменяет отметку времени в файле (, что делает его более свежим ).

Отредактируйте :в более поздних wgets, чем я тестировал, можно также добавить--no-if-modified-since

1
18.03.2021, 23:03

Теги

Похожие вопросы