Будет ли атрибут src тега JavaScript следовать перенаправлениям HTTP во всех браузерах
Допустим, атрибут src тега javascript указывает на перенаправление:
<script src="http://foo.com/foo.js"></script>
Где http://foo.com/foo.js - это 301 редирект на https://foo.com/foo.js ...
Все ли браузеры успешно загрузят файл JS? Я заметил, что он, кажется, работает в Chrome, Firefox, Safari и IE9... но мне просто интересно, это что-то, что находится в спецификации или просто случайно...
2 ответа:
Загрузка ресурсов для веб-страницы (будь то источник скрипта, Источник изображения или что-то еще) не зависит от того, как браузер выбирает его для вас (используя протокол HTTP через TCP/IP).
Единственное, что нужно знать здесь, это то, что браузер делает два запроса на загрузку одного ресурса и при условии, что вызовы скрипта блокируются в браузере, поэтому не рекомендуется использовать эту стратегию долго. По 3 очень основным причинам мы используем 301-е:
- Prettify URLs
- Обеспечить Связь справедливость
- решить канонический вопрос.
Вы можете проверить следующий раздел о поведении различных браузеров для обработки 301 редиректа: Поведение Веб-Браузера Клиента При Обработке 301 Перенаправления