Safari 12 не кеширует большие ресурсы в случае перенаправления 302, он работает нормально, если он добавлен прямо на страницу? - PullRequest
0 голосов
/ 31 января 2019

Я использую Safari Версия 12.0.2 (13606.3.4.1.4) , и у меня есть очень простая страница, подобная этой,

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Page Title</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
  <script src="https://d161vkckch5xxj.cloudfront.net/LS/ASSETS/PROD/US/bundle.js"></script>
</head>
<body>
  Hello There
</body>
</html>

Это показывает, когда я перезагружаю страницуАктив загружается из кеша, который ожидается.

Safari Caching the Direct Links

Изменение тега Script на URL, который перенаправляет на этот ресурс, потому что есть разные варианты этогоСкрипт и на основе контекста право скрипт будет загружен.Поэтому, когда я изменяю тег сценария с

  <script src="https://d161vkckch5xxj.cloudfront.net/LS/ASSETS/PROD/US/bundle.js"></script>

на этот

<script src="https://pvpsx9qpxa.execute-api.us-west-1.amazonaws.com/PROD/getAsset?marketplace=US&assetName=bundle.js"></script>

, который указывает на один и тот же ресурс, теперь, когда я каждый раз перезагружаю страницу, весь ресурс загружается иMobile Safari не имеет такой же проблемы, как и у Mobile Safari.

enter image description here

В Chrome и FF он работает правильно и показывает перенаправлениеа также, что делать для Safari, так как это большой актив и его нельзя загружать заново каждый раз.

Результаты Chrome,

enter image description here enter image description here

...