Клиентская часть простая:
$('a').click(function(e){
    e.preventDefault();
    $.post('ping.php', {url: this.href}, function(status){
        // ожидаем что сервер вернет ввиде ответа код статуса ресурса
        if (status == 200) {
            window.location = this.href;
        }
    });
});
На сервере, если это php - через curl делать запрос ресурса. Для примера ищи "профессоров" php.
Вобще, для удобства нужно проверять ресурс не по клику, а раньше, выводя значек доступности или недоступности. Хотя тогда будет много лишних запросов. Если не критично - можно на сервере кэшировать результаты запроса, например каждый час. Причем когда данные в кэше имеются, то можно вообще без ajax иконки выводить.