Большинство браузеров делают несколько запросов HTTP при отображении PDF из браузера

У большинства (IE, FF, Safari, Chrome, Opera) несколько запросов HTTP для PDF файла при отображении PDF файла в браузере? Я работаю над проблемой интеграции с программным обеспечением WebTrends Web Analytics, а статистика по файлам PDF выглядит некорректной. Поддержка сообщила мне, что, поскольку WebTrends анализирует журналы доступа к веб-серверам для определения трафика, загрузки и т.д., Ему сложно определить точные загрузки в формате PDF, потому что:
Когда пользователь нажимает на PDF файл, и PDF открывается в браузере пользователя через плагин браузера Acrobat Reader, каждая страница загружается один раз в определенное время - это делает это для экономии полосы пропускания, если пользователь просматривает только первые 2 страницы 50 страниц PDF, загружаются только первые 2 страницы.

Это кажется мне неприятным (как мог HTTP-запрос обслуживать только часть двоичного файла?) - Я искал Google, но не нашел ничего, что говорит об этом.

Я попытаюсь найти программное обеспечение IE, которое позволит мне завтракать по HTTP-трафику, чтобы увидеть, могу ли я наблюдать это явление.

Любая информация/мысли оцениваются, хотя.

Ответ 1

Если ваш сайт возвращает заголовок ответа HTTP следующим образом:

Accept-Ranges: bytes

читатель PDF закроет интимное соединение после прочтения всего нескольких килобайт документа. Затем он запрашивает разделы документа, как требуется, с заголовком запроса диапазона, например:

Range: bytes=242107-244329, 8060-76128

Пример URL-адреса, который делает это http://www.ovationguitars.com/img/OVmanual.pdf.

Если вы не вернете заголовок Accept-Ranges, документ PDF будет загружен в одном запросе (например, http://manuals.info.apple.com/en/iphone_user_guide.pdf)

Вы можете увидеть поведение читателя PDF в IE с помощью HttpWatch.

** Отказ от ответственности: этот ответ был опубликован Simtec Limited, создателями HttpWatch **

Ответ 2

Для меня по состоянию на июнь 2016 года Firefox и IE11 делают только один вызов.

Chrome делает два вызова, если нет заголовка Content-Disposition. Когда этого не хватает, Chrome делает два GET, кажется, отменил второе, и отображает PDF в браузере. Сервер не знает, что второй отменен, и снова отправляет PDF файл.

Когда этот заголовок отправляется с сервера, Chrome делает только один вызов и запускает или сохраняет файл.

Content-Disposition: attachment

(Вы также можете указать имя файла, которое будет использоваться, когда пользователь сохранит файл...)

Content-Disposition: attachment; filename=test.pdf

Ответ 3

Мои мысли в том, что вы находитесь на месте: ваш плагин не может (и не должен) разбивать PDF на запросы.

У меня есть веб-приложение, которое обслуживает файлы PDF из запроса (один запрос) и отображается в подключаемом модуле. Он отображает весь PDF без дополнительной информации.

Кроме того, если вы ищете HTTP-сниффер, вы можете попробовать Fiddler. Я нашел это полезным при отладке веб-сайта.

Ответ 4

В моих тестах двойные запросы к PDF-окнам просматриваются в Chrome, если у меня включено расширение REST Console 4.0.2. Отключение этого расширения делает работу Chrome ожидаемой (только один запрос).

Редактировать. Расширение расширения Instapaper также позволяет Chrome делать двойные запросы в формате PDF.