How checking from a browser differs from the CLI
Everything runs in this tab: uplink is compiled to WebAssembly with GraalVM Web Image, and
requests are sent with the browser's fetch. No server is involved, so the browser's
rules apply:
- A page can only be crawled for links when its site allows cross-origin reads (CORS), for example GitHub Pages, or when this page is served from the same site. Otherwise the page counts as reachable, but its links cannot be read.
- Links to other sites usually answer without CORS headers. A link that answers counts as good (status hidden), so a 404 on another site may go unnoticed. A link with no answer the browser lets through is unverified: it may be unreachable, or its server may refuse cross-origin requests.
- The browser console logs every request (debug level) and each unreadable page, prefixed
[uplink]. - From an
https://page the browser blockshttp://links, which are reported as unverified. - The browser follows redirects and sends its own User-Agent.
The uplink CLI has none of these limits.