Встроенный API-интерфейс Google Drive для отображения PDF возвращает 204 - PullRequest
0 голосов
/ 25 марта 2019

У моего веб-сайта есть iframe, указывающий на https://drive.google.com/viewer?url=https://mywebsite/myfile.pdf&embedded=true

В большинстве случаев PDF-файл загружается правильно, но иногда этого не происходит, я получаю просто пустую страницу.Похоже, что запрос возвращает 204 (запрос успешен - ответ пуст).

Я мог бы даже повторить это, введя указанный выше URL-адрес непосредственно в браузере и несколько раз обновляя, пока не получил 204, поэтомуна моем сайте и / или в фрейме нет чего-нибудь .. есть идеи, почему это происходит?и как это предотвратить.

Заранее спасибо :))

1 Ответ

0 голосов
/ 26 марта 2019

Ошибка HTTP Status 204 (Нет содержимого) указывает на то, что сервер успешно выполнил запрос и что в теле полезной нагрузки ответа нет содержимого для отправки.Сервер может захотеть вернуть обновленную метаинформацию в виде заголовков сущностей, которые, если они есть, ДОЛЖНЫ применяться к активному представлению текущего документа, если таковые имеются.

По умолчанию ответ 204 (без содержимого) имеет видкэшируется.Если необходимо переопределить кэширование, то ответ должен включать в себя кэш, соответствующий заголовкам кеша .

Для решения этой проблемы проблема потерянного обновления , серверможет также включать HTTP-заголовок ETag, чтобы позволить клиенту проверять представление ресурсов на стороне клиента перед дальнейшим обновлением на сервере:

Проблема утраченного обновления возникает, когда несколько человек редактируют ресурс, не зная об изменениях друг друга.В этом случае последний человек, обновивший ресурс, «выигрывает», а предыдущие обновления теряются.ETags можно использовать в сочетании с заголовком If-Match, чтобы сервер мог решить, следует ли обновлять ресурс.Если ETag не совпадает, сервер информирует клиента с помощью ответа 412 (Precondition Failed).

Пожалуйста, проверьте этот сайт для получения более подробной информации.

...