Сбои ping, но http связывают работы

Индексированные id значения в документе обычно являются плохой идеей; рассмотреть возможность использования классов вместо. Кроме того, вместо цикла for (который требует ручной итерации и не имеет абстракции), рассмотрите возможность использования вместо forEach:

const dice = document.querySelectorAll('.dice');
button.onclick = () => {
  dice.forEach((die) => {
    die.src = pics[Math.floor(Math.random() * pics.length)]
  });
};

const dice = document.querySelectorAll('.dice');
const pics = ['https://i.postimg.cc/MfVDpSmQ/Eagle.jpg',
  'https://i.postimg.cc/QKGQPzZx/Man.jpg',
  'https://i.postimg.cc/1g7MWMzf/Dog.jpg',
  'https://i.postimg.cc/xc9HzM07/Telephone.jpg',
  'https://i.postimg.cc/4mwcbyy3/Robot.jpg',
  'https://i.postimg.cc/ctRRNcd7/Moon.jpg',
  'https://i.postimg.cc/xJW5QCMQ/Dinosaur.jpg',
  'https://i.postimg.cc/hhdMrLRt/Fish.jpg',
  'https://i.postimg.cc/Ty1JWmcG/Flowers.jpg'
];
const button = document.querySelector('#button');
button.onclick = () => {
  dice.forEach((die) => {
    die.src = pics[Math.floor(Math.random() * pics.length)]
  });
};
[ 112]

Чтобы гарантировать, что изображения не повторяются, каждый раз, когда нажимается кнопка, сделайте копию массива, затем splice выделите выбранный элемент:

[113 ]

const dice = document.querySelectorAll('.dice');
const pics = ['https://i.postimg.cc/MfVDpSmQ/Eagle.jpg',
  'https://i.postimg.cc/QKGQPzZx/Man.jpg',
  'https://i.postimg.cc/1g7MWMzf/Dog.jpg',
  'https://i.postimg.cc/xc9HzM07/Telephone.jpg',
  'https://i.postimg.cc/4mwcbyy3/Robot.jpg',
  'https://i.postimg.cc/ctRRNcd7/Moon.jpg',
  'https://i.postimg.cc/xJW5QCMQ/Dinosaur.jpg',
  'https://i.postimg.cc/hhdMrLRt/Fish.jpg',
  'https://i.postimg.cc/Ty1JWmcG/Flowers.jpg'
];
const button = document.querySelector('#button');
button.onclick = () => {
  const picsCopy = pics.slice();
  dice.forEach((die) => {
    const [src] = picsCopy.splice(Math.floor(Math.random() * picsCopy.length), 1);
    die.src = src;
  });
};
<img class="dice">
<img class="dice">
<img class="dice">
<img class="dice">
<img class="dice">
<img class="dice">
<button id="button">Roll the dice</button>

10
задан user11718 21 October 2008 в 04:52
поделиться

8 ответов

Сайт может быть позади брандмауэра что запросы ICMP блоков (например, ping). Запросы HTTP, которые отсылает Ваш браузер, пробегаются через TCP/IP.

23
ответ дан 3 December 2019 в 14:26
поделиться

Браузер использует протокол TCP/IP для общения с сервером Запросы HTTP при использовании ping он использует протокол ICMP и кажется сервером позади брандмауэра, который отбрасывает Эхо-запросы ICMP.

1
ответ дан 3 December 2019 в 14:26
поделиться

Общедоступные серверы часто не отвечают на запросы ping. В конце концов, люди разве вводят, не проверяют с помощью ping-запросов testsite.com, прежде чем они откроют свой браузер, правильно? Таким образом, нет никакого основного назначения для ответа на ping forthese сайты. С другой стороны:

Несколько лет назад ребенок, управляемый для одновременной подачи amazon.com и нескольких других таких больших сайтов вниз к thei коленям в течение нескольких часов при наличии нескольких сотен машин, бомбит их с загрузками запросов ping.

С тех пор ping не считали так большим количеством товарищеской встречи администраторы.

1
ответ дан 3 December 2019 в 14:26
поделиться

Ping является по существу пакетом "эхо-запроса", отправленным по IMCP (протокол). Корректный ответ на ping является ловко "пакетом" ответа эха. Однако, если Вы отправляете ответный пакет эха, люди знают, что Вы существуете. Теперь при выполнении веб-сервера это не грандиозное предприятие, но когда Вы выполняете стандартный рабочий стол, Вы не хотите людей, знающих Вас, существуют. Результат состоит в том, что многие настроенные на безопасность люди отключат ответы ping по умолчанию, даже на машинах сервера.

1
ответ дан 3 December 2019 в 14:26
поделиться

Ping отправляет пакет запроса ICMP. Веб-сервер может принять решение проигнорировать его и не ответить, вместо того, чтобы ответить ответом ICMP.

Сеть brower использует HTTP, что означает, что это открывает соединение TCP на порте 80 при помощи обмена SYN/SYNACK/ACK.

Эти два процесса полностью отличаются и независимы, таким образом, можно позволить/запретить любому независимо.

8
ответ дан 3 December 2019 в 14:26
поделиться

Ping (также известный как ICMP) и http протокол работает полностью по-другому и использует различные порты. Различные устройства/брандмауэры по пути могут заблокировать ping, но большинство позволяет http через.

0
ответ дан 3 December 2019 в 14:26
поделиться

Это не браузер. Мог быть брандмауэр между Вами и сервер, это блокирует запросы ping, или сервер просто не может отвечать на ping. Это - мера по коллективной безопасности.

0
ответ дан 3 December 2019 в 14:26
поделиться

Пакеты ping, как другие заявили, являются другим типом пакета, чем пакеты 'HTML' - пакетами Ping является ICMP/IP, в то время как HTML является TCP/IP. Все виды материала, промежуточного, Вы и веб-сайт могли принять решение заблокировать пакеты ICMP при разрешении пакетов TCP через.

0
ответ дан 3 December 2019 в 14:26
поделиться
Другие вопросы по тегам:

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