Как проверять доступность сайтов с наименьшими нагрузками?
В качестве практического задания хочу написать приложение, которое будет регулярно (заданный пользователем промежуток времени) проверять доступность (200 ответ сервера) целого списка сайтов.
Сам алгоритм вижу так: пользователь добавляет нужные ему сайты в список и выставляет в настройках регулярность проверки, а приложение потом по одному делает запросы к сайту, обрабатывая ответ. Если 200 - ставим галочку и идем дальше. Если 4**, 3**, 5** и т.д. - выкидываем всплывашку.
Есть вопросы по правильности работы данного простого (увы, не для меня) приложения.
Вопросы
1) Чем делать запросы, чтобы получить только код ответа сервера? Какая библиотека или может встроенный функционал ОС?
2) Как управлять регулярностью запуска проверки? Есть ли подобие крона у Андроид?
3) Где правильнее хранить добавленные сайты и результаты проверки?
1. Отправлять чем угодно, главное использовать HEAD вместо GET
2. Можно использовать ScheduledExecutorService/JobScheduler или найти другое решение, используя Google
3. В базе данных или в отдельном файле (проще всего закодировать данные в json/xml/csv/т.д. и записать в файл)