Как я могу получить сводку страницы с помощью Java?

Я хочу получить следующую информацию о веб-странице:

  • TTFB
  • Время загрузки страницы
  • Ресурсы (css, js, img...) время загрузки

Обязательное условие: вся эта информация должна быть получена в одном запросе. У кого-нибудь есть решение этой проблемы на Java?


person jonua    schedule 13.07.2015    source источник
comment
Возможно, читать и обрабатывать журналы веб-сервера.   -  person Gilbert Le Blanc    schedule 13.07.2015
comment
@Пух, вот в чем вопрос. Что нужно для загрузки страницы, что бы получить данные?   -  person jonua    schedule 13.07.2015
comment
@GilbertLeBlanc, мне нужно получить эти данные программно.   -  person jonua    schedule 13.07.2015
comment
Хорошо, поскольку вы использовали тег Java, используйте BufferedReader для чтения журналов веб-сервера.   -  person Gilbert Le Blanc    schedule 13.07.2015
comment
@GilbertLeBlanc, я не использую веб-сервер. Я использую JavaSE. Может ли быть какое-то внешнее программное обеспечение, позволяющее получить эти данные? Или по-другому, без использования логов сервера?   -  person jonua    schedule 13.07.2015
comment
Я полагаю, вы можете использовать класс URLConnection. для получения веб-страницы и HtmlUnit для обработки веб-страницы.   -  person Gilbert Le Blanc    schedule 13.07.2015


Ответы (1)


TTFB: открыть сокет для сервера. это дает вам задержку сети + время открытия сокета. через этот сокет вы должны отправить http-запрос. Момент, когда вы получите http-заголовок - это будет ваш TTFB... но... как я уже сказал - он содержит сетевую задержку, также вы можете получить ответ перенаправления, или обновление протокола, или wte. Так что вам стоит это проанализировать.

Время загрузки страницы, если вы получили 200 ответов на предыдущем этапе - просто загрузите все данные...

Время загрузки ресурсов (css, js, img...) на этом этапе вы будете измерять не производительность веб-серверов и сетевую задержку, а свои. вы должны разобрать полученный html, найти все ссылки на ресурсы и повторить первый шаг (открыть сокет) или загрузить их через httpClient или smt еще...

также вы должны помнить о http/2, gzip...

person Puh    schedule 13.07.2015