"Предварительная загрузка" может быть не самым широко используемым термином, но в любом случае я имею в виду плагины браузера, которые запрашивают страницы до фактический запрос от пользователя. (Например, когда загружается новая страница и вы начинаете ее читать, браузер предварительно выбирает все ссылки на этой странице (поскольку он не знает, по какой из них вы решите щелкнуть).
Плагин Firefox, Fasterfox, и Google Web Accelerator (похоже, больше не доступен для загрузки) - вот два таких плагина, о которых я знаю.
Отличаются ли такие запросы в журнале событий Apache от обычных запросов страниц?
В запросах предварительной выборки Firefox HTTP-заголовок X-moz установлен следующим образом
'X-moz: prefetch'
Таким образом, вы можете идентифицировать предварительную выборку из сценария CGI или аналогичного, но не из файла журнала apache в формате журнала по умолчанию. Если вы определяете собственный формат файла журнала, вы можете включить содержимое заголовка X-moz, где он присутствует:
%...{X-moz}i
Итак, изменив формат журнала по умолчанию, чтобы включить его в конец строк журнала:
LogFormat "%h %l %u %t \"%r\" %>s %b %{X-moz}i"
Существует некоторая работа по стандартизации предварительной выборки в HTML5, но в настоящее время в черновике HTML5 нет ничего, что требовало бы или предлагало UA идентифицировать такие запросы к серверу.
Дополнительную информацию см. В разделе часто задаваемых вопросов разработчика Mozilla по предварительной выборке:
Поскольку они, вероятно, будут использовать тот же пользовательский агент, что и обычные запросы страниц, это будет сложно сделать. Вы могли бы написать что-нибудь, чтобы различать это по шаблонам времени - запрос одной страницы, за которым следует волна запросов для других страниц, быстрее, чем человек может запросить. Однако вы, вероятно, получите много ложных срабатываний.