{% extends "base.html" %} {% import "tool_parts.html" as p %} {% block title %}{% if result %}{{ url }} is {{ result.verdict|lower }}: HTTP {{ result.status }} in {{ result.timing.total_ms }} ms{% else %}Free website uptime and speed check{% endif %}{% endblock %} {% block desc %}{{ tool.desc }}{% endblock %} {% block content %} {{ p.head(tool) }} {{ p.form(tool, input_value, 'https://example.com/page') }} {{ p.error(error, url) }} {% if result %} {% set t = result.timing %} {% call p.verdict(result.status|string, result.verdict_class, result.verdict ~ ' · HTTP ' ~ result.status, result.subtitle, result.final_url, checked_at) %}
{{ 'reachable' if result.up else 'error' }} {% if result.http_version %}{{ result.http_version }}{% endif %} {% if result.ip %}{{ result.ip }}{% endif %}
{% endcall %}

Timing breakdown

{% for s in result.segments if s.ms %}
{% endfor %}
{% for s in result.segments %} {% endfor %}
{{ s.label }}{{ s.ms }} ms
Total{{ t.total_ms }} ms

DNS, connect and TLS are measured on a probe connection to the first host; wait and download on the final response. One sample from one location, so treat it as a spot check.

Redirect chain ({{ result.hops|length }} hop{{ '' if result.hops|length == 1 else 's' }})

    {% for h in result.hops %}
  1. {{ h.status }} {{ h.url }} {{ h.ms }} ms
  2. {% endfor %}
{% if result.hops|length > 2 %}

Every redirect adds a round trip. Point links straight at the final URL where you can.

{% endif %}

Response

Status
HTTP {{ result.status }}
Server
{{ result.server or '—' }}{% if result.powered_by %} · {{ result.powered_by }}{% endif %}
Content-Type
{{ result.content_type or '—' }}
Size
{{ result.size_kb }} KB{% if result.size_truncated %} (truncated at 3 MB){% endif %}
Cache-Control
{{ result.cache_control or '—' }}
{{ p.share(share_url) }} {{ p.others(tools, tool, url) }} {% else %}

What we check

One real GET from Vigil's servers: HTTP status, DNS lookup, TCP connect, TLS handshake, time to first byte and download time, every redirect hop with its status, the server header and the response size.

"It works for me"

A site can be up from your office and down from everywhere else: DNS, firewalls, CDN regions. A check from outside is the only one that counts.

Try it on

puzaricloud.in · http://github.com · example.com

{% endif %} {{ p.cta(tool, url) }} {% endblock %}