Ограничения и соображения по использованию непрозрачных ответов
Непрозрачные ответы, представленные Fetch API, представляют собой результаты запросов между источниками, когда CORS отключен. Хотя они обеспечивают некоторую изоляцию, существует несколько ограничений и потенциальных проблем, о которых следует знать.
Ограничения на доступ к заголовкам и телу
Основным ограничением непрозрачных ответов является невозможность доступа к заголовкам или телу ответа. Такие свойства, как заголовки и методы, связанные с телом (json(), text()), недоступны. Это важно для сохранения конфиденциальности удаленного источника.
Использование ресурсов и ограничения
Несмотря на свои ограничения, непрозрачные ответы можно использовать в качестве ресурсов на веб-странице, если Браузер позволяет использовать ресурсы с перекрестным происхождением, отличные от CORS. Эти ресурсы включают
Взаимодействие с API хранилища кэша
Потенциальная ловушка возникает при использовании непрозрачных ответов с API хранилища кэша. Непрозрачные ответы имеют свойство status, равное 0, независимо от фактического статуса запроса. Поскольку методы add() и addAll() отклоняют ответы с кодами состояния, отличными от 2XX, непрозрачные ответы не будут добавлены в кеш. Чтобы обойти это, явно выполните fetch(), а затем put() с непрозрачным ответом.
navigator.storage API и непрозрачные ответы
Из соображений безопасности браузеры закрывают непрозрачные ответы для предотвращения междоменной утечки информации. Это заполнение значительно увеличивает сообщаемый размер хранилища непрозрачных ответов. В Google Chrome каждый непрозрачный ответ занимает минимум около 7 мегабайт памяти. Если не соблюдать меры предосторожности, это может привести к исключениям, превышающим квоту.
Соображения по использованию
При использовании непрозрачных ответов имейте в виду следующее:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3