There is a whole continuum of remote server "up" detection - from mere connectivity, through to accurate and timely responses. A machine may be in several states and conditions, and depending on quite what you are looking for, some of which can be:
- port 80 accepting
- http://domain responding
- http://domain/file responding
- http://domain/file responding quickly enough
It may also be that the site content is unpredictable, so a specific URL may not be something you want to check.
Then there is a question of whether one of the unacceptable conditions might change if you retry. For example, instantaneous loads may indicate a very poor response time, but with a perfectly acceptable average.