Pick a random block, or type a height. It is fetched live and its proof of work, merkle root and structure are checked right here in your browser. No server. The validator is the page.
Phase 1: proof of work, merkle root, witness commitment and block structure all live inside the block itself, so they verify with no extra data. Script execution and signature checks need the spending history (the prevouts), which is phase 2. A pass here means structurally sound, not that every signature was checked.